Make the gnumeric reader behave the same as the odsreader
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 30 Mar 2013 16:00:30 +0000 (17:00 +0100)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 30 Mar 2013 16:00:30 +0000 (17:00 +0100)
src/data/gnumeric-reader.c
src/language/data-io/get-data.c

index 1b7a646a83ebe5d3bbf2ec89cf10e471e346824c..9193cfb061c4949be89b8467877174bcbf1a0264 100644 (file)
@@ -140,6 +140,8 @@ gnumeric_destroy (struct spreadsheet *s)
 {
   struct gnumeric_reader *r = (struct gnumeric_reader *) s;
 
+
+#if 0
   if (0 == --r->ref_cnt)
     {
       int i;
@@ -153,6 +155,7 @@ gnumeric_destroy (struct spreadsheet *s)
 
       free (r);
     }
+#endif
 }
 
 
@@ -199,9 +202,11 @@ static void
 gnm_file_casereader_destroy (struct casereader *reader UNUSED, void *r_)
 {
   struct gnumeric_reader *r = r_;
+
   if ( r == NULL)
        return ;
 
+#if 0
   if ( r->xtr)
     xmlFreeTextReader (r->xtr);
   r->xtr = NULL;
@@ -212,6 +217,7 @@ gnm_file_casereader_destroy (struct casereader *reader UNUSED, void *r_)
   caseproto_unref (r->proto);
 
   gnumeric_destroy (&r->spreadsheet);
+#endif
 }
 
 
index daec18f41da340c9d0e5b9c882eae4e3c2fbc53d..2e7df57f02cc8d7321e7affeb28d1a27f164a86e 100644 (file)
@@ -94,6 +94,7 @@ cmd_get_data (struct lexer *lexer, struct dataset *ds)
            goto error;
          reader = gnumeric_make_reader (spreadsheet, &opts);
          dict = spreadsheet->dict;
+         gnumeric_destroy (spreadsheet);
        }
       else if (0 == strncasecmp (tok, "ODS", 3))
        {