Rewrite Import Dialog.
[pspp] / src / data / ods-reader.c
index 01ff6cf115d82dc0b2861814308025f93bf814ca..c5ada6e09101bc3977ee2ecb67af59b0621aed6f 100644 (file)
@@ -173,7 +173,7 @@ ods_unref (struct spreadsheet *s)
        
       zip_reader_destroy (r->zreader);
       free (r->sheets);
-       
+      free (s->file_name);
       free (r);
     }
 }
@@ -650,7 +650,7 @@ ods_probe (const char *filename, bool report_errors)
   r->n_allocated_sheets = 0;
   r->sheets = NULL;
 
-  r->spreadsheet.file_name = filename;
+  r->spreadsheet.file_name = strdup (filename);
   return &r->spreadsheet;
 
  error:
@@ -1014,6 +1014,9 @@ ods_file_casereader_read (struct casereader *reader UNUSED, void *r_)
        break;
     }
 
+  xmlFree (type);
+  xmlFree (val_string);
+  
   return c;
 }
 #endif