X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=src%2Fdata%2Fgnumeric-reader.c;h=cda95e5378e5d435c524aa50086fc3e77e0c87da;hb=a8fdc033bbcb8c4e7a4f0d2c40c6b48a90f2dbe7;hp=578ff8ab4b69a67764653df5eff52154a46a6abe;hpb=bbcfaa2d011a9e0115286769a51476a4dddf2b12;p=pspp diff --git a/src/data/gnumeric-reader.c b/src/data/gnumeric-reader.c index 578ff8ab4b..cda95e5378 100644 --- a/src/data/gnumeric-reader.c +++ b/src/data/gnumeric-reader.c @@ -63,6 +63,7 @@ static void gnm_file_casereader_destroy (struct casereader *, void *); static struct ccase *gnm_file_casereader_read (struct casereader *, void *); + static const struct casereader_class gnm_file_casereader_class = { gnm_file_casereader_read, @@ -133,6 +134,23 @@ struct gnumeric_reader }; +void +gnumeric_destroy (struct spreadsheet *s) +{ + struct gnumeric_reader *r = s; + int i; + + for (i = 0; i < s->n_sheets; ++i) + { + xmlFree (r->sheets[i].name); + } + + free (r->sheets); + + free (r); +} + + const char * gnumeric_get_sheet_name (struct spreadsheet *s, int n) { @@ -175,7 +193,6 @@ gnumeric_get_sheet_range (struct spreadsheet *s, int n) static void gnm_file_casereader_destroy (struct casereader *reader UNUSED, void *r_) { - int i; struct gnumeric_reader *r = r_; if ( r == NULL) return ; @@ -188,18 +205,9 @@ gnm_file_casereader_destroy (struct casereader *reader UNUSED, void *r_) case_unref (r->first_case); caseproto_unref (r->proto); - - for (i = 0; i < r->spreadsheet.n_sheets; ++i) - { - xmlFree (r->sheets[i].name); - } - - free (r->sheets); - - - free (r); } + static void process_node (struct gnumeric_reader *r) { @@ -424,13 +432,6 @@ struct var_spec }; -void -gnumeric_destroy (struct spreadsheet *s) -{ - gnm_file_casereader_destroy (NULL, s); -} - - static void gnumeric_error_handler (void *ctx, const char *mesg, UNUSED xmlParserSeverities sev, xmlTextReaderLocatorPtr loc)