(close_active_file) Remove unnecessary test.
[pspp] / src / get.c
index 0658ab247dceacb37c96378f8df5a969f428c955..32602b35c66907565d0e81cb0e857fbacfcb7fa2 100644 (file)
--- a/src/get.c
+++ b/src/get.c
@@ -887,6 +887,7 @@ cmd_match_files (void)
                     }
                 }
             }
+          free (by);
        }
       else if (lex_match_id ("FIRST")) 
         {
@@ -1038,6 +1039,9 @@ cmd_match_files (void)
     procedure (mtf_processing, &mtf);
   mtf_processing_finish (&mtf);
 
+  free_case_source (vfm_source);
+  vfm_source = NULL;
+
   dict_destroy (default_dict);
   default_dict = mtf.dict;
   mtf.dict = NULL;
@@ -1201,7 +1205,9 @@ mtf_processing (struct ccase *c, void *mtf_)
   bool read_active_file;
 
   assert (mtf->head != NULL);
-  assert (mtf->head->type == MTF_FILE);
+  if (mtf->head->type == MTF_TABLE)
+    return 1;
+  
   do
     {
       struct mtf_file *min_head, *min_tail; /* Files with minimum BY values. */