Fix memory leak in MCONVERT
[pspp] / src / language / data-io / inpt-pgm.c
index 0301d7d057aa77ca000a36abc51937ab638d982e..e2cfbd1bb8899e52b450890a13dc98999b4fe4d5 100644 (file)
@@ -130,7 +130,7 @@ cmd_input_program (struct lexer *lexer, struct dataset *ds)
               && lex_get_error_mode (lexer) != LEX_ERROR_TERMINAL)
             {
               if (result == CMD_EOF)
-                msg (SE, _("Unexpected end-of-file within INPUT PROGRAM."));
+                msg (SE, _("Unexpected end-of-file within %s."), "INPUT PROGRAM");
               inside_input_program = false;
               destroy_input_program (inp);
               return result;
@@ -143,7 +143,7 @@ cmd_input_program (struct lexer *lexer, struct dataset *ds)
 
   if (!saw_DATA_LIST && !saw_END_FILE)
     {
-      msg (SE, _("Input program must contain DATA LIST or END FILE."));
+      msg (SE, _("Input program must contain %s or %s."), "DATA LIST", "END FILE");
       destroy_input_program (inp);
       return CMD_FAILURE;
     }
@@ -239,7 +239,7 @@ destroy_input_program (struct input_program_pgm *pgm)
 
 /* Destroys the casereader. */
 static void
-input_program_casereader_destroy (struct casereader *reader UNUSED, void *inp_)
+input_program_casereader_destroy (struct casereader *reader, void *inp_)
 {
   struct input_program_pgm *inp = inp_;
   if (inp->restart == TRNS_ERROR)
@@ -304,7 +304,7 @@ cmd_reread (struct lexer *lexer, struct dataset *ds)
               goto error;
            }
 
-         e = expr_parse (lexer, ds, EXPR_NUMBER);
+         e = expr_parse (lexer, NULL, ds, VAL_NUMERIC);
          if (!e)
             goto error;
        }