Fixed some more leaks
[pspp] / src / language / data-io / get-data.c
index f243aecac3f4014acc69a97b16df93310ae61d64..3530c0e04ea0b0eca633f1e3afef76309739abbd 100644 (file)
@@ -49,7 +49,7 @@
 static bool parse_spreadsheet (struct lexer *lexer, char **filename,
                               struct spreadsheet_read_options *opts);
 
-static void destroy_spreadsheet_read_info (struct spreadsheet_read_info *, struct spreadsheet_read_options *);
+static void destroy_spreadsheet_read_info (struct spreadsheet_read_options *);
 
 static int parse_get_txt (struct lexer *lexer, struct dataset *);
 static int parse_get_psql (struct lexer *lexer, struct dataset *);
@@ -108,12 +108,17 @@ cmd_get_data (struct lexer *lexer, struct dataset *ds)
          dataset_set_dict (ds, dict);
          dataset_set_source (ds, reader);
          free (tok);
+         destroy_spreadsheet_read_info (&opts);
          return CMD_SUCCESS;
        }
+      destroy_spreadsheet_read_info (&opts);
     }
   else
     msg (SE, _("Unsupported TYPE %s."), tok);
 
+
+
+
  error:
   free (tok);
   return CMD_FAILURE;
@@ -672,7 +677,7 @@ parse_get_txt (struct lexer *lexer, struct dataset *ds)
 
 
 static void 
-destroy_spreadsheet_read_info (UNUSED struct spreadsheet_read_info *sri,
-                              UNUSED struct spreadsheet_read_options *opts)
+destroy_spreadsheet_read_info (struct spreadsheet_read_options *opts)
 {
+  free (opts->cell_range);
 }