Change explicit variable name checks into use of dict_class_from_id().
[pspp] / src / recode.c
index 523dcaa6442d850f971a0155e54fedc3722ca443..ee164b9c7c7889ea04bd6ecf12f941bfc9b5daaf 100644 (file)
@@ -34,6 +34,7 @@
 \f
 /* Definitions. */
 
+/* Type of source value for RECODE. */
 enum
   {
     RCD_END,                   /* sentinel value */
@@ -487,6 +488,11 @@ parse_dest_spec (struct rcd_var * rcd, union value * v, size_t *max_dst_width)
          v->c = NULL;
        }
     }
+  else 
+    {
+      lex_error (_("expecting output value"));
+      return 0;
+    }
 
   if ((rcd->flags & RCD_DEST_MASK) == RCD_DEST_ERROR)
     rcd->flags |= flags;
@@ -776,10 +782,11 @@ recode_trns_proc (struct trns_header * t, struct ccase * c,
                   int case_num UNUSED)
 {
   struct rcd_var *v;
-  struct coding *cp;
 
   for (v = ((struct recode_trns *) t)->codings; v; v = v->next)
     {
+      struct coding *cp;
+
       switch (v->flags & RCD_SRC_MASK)
        {
        case RCD_SRC_NUMERIC:
@@ -788,6 +795,8 @@ recode_trns_proc (struct trns_header * t, struct ccase * c,
        case RCD_SRC_STRING:
          cp = find_src_string (v, c);
          break;
+        default:
+          assert (0);
        }
       if (!cp)
        continue;