projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rewrite Import Dialog.
[pspp]
/
src
/
data
/
ods-reader.c
diff --git
a/src/data/ods-reader.c
b/src/data/ods-reader.c
index 1b828d1e36a186a9e532c4c88871881e347d23a6..c5ada6e09101bc3977ee2ecb67af59b0621aed6f 100644
(file)
--- a/
src/data/ods-reader.c
+++ b/
src/data/ods-reader.c
@@
-127,7
+127,7
@@
struct ods_reader
{
struct spreadsheet spreadsheet;
struct zip_reader *zreader;
{
struct spreadsheet spreadsheet;
struct zip_reader *zreader;
- int ref_cnt;
+
int target_sheet_index;
xmlChar *target_sheet_name;
int target_sheet_index;
xmlChar *target_sheet_name;
@@
-157,11
+157,11
@@
struct ods_reader
};
void
};
void
-ods_
destroy
(struct spreadsheet *s)
+ods_
unref
(struct spreadsheet *s)
{
struct ods_reader *r = (struct ods_reader *) s;
{
struct ods_reader *r = (struct ods_reader *) s;
- if (--
r
->ref_cnt == 0)
+ if (--
s
->ref_cnt == 0)
{
int i;
{
int i;
@@
-173,7
+173,7
@@
ods_destroy (struct spreadsheet *s)
zip_reader_destroy (r->zreader);
free (r->sheets);
zip_reader_destroy (r->zreader);
free (r->sheets);
-
+ free (s->file_name);
free (r);
}
}
free (r);
}
}
@@
-276,7
+276,7
@@
ods_file_casereader_destroy (struct casereader *reader UNUSED, void *r_)
r->target_sheet_name = NULL;
r->target_sheet_name = NULL;
- ods_
destroy
(&r->spreadsheet);
+ ods_
unref
(&r->spreadsheet);
}
}
@@
-632,7
+632,7
@@
ods_probe (const char *filename, bool report_errors)
sheet_count = get_sheet_count (zr);
r->zreader = zr;
sheet_count = get_sheet_count (zr);
r->zreader = zr;
- r->ref_cnt = 1;
+ r->
spreadsheet.
ref_cnt = 1;
xtr = init_reader (r, report_errors);
if (xtr == NULL)
xtr = init_reader (r, report_errors);
if (xtr == NULL)
@@
-650,7
+650,7
@@
ods_probe (const char *filename, bool report_errors)
r->n_allocated_sheets = 0;
r->sheets = NULL;
r->n_allocated_sheets = 0;
r->sheets = NULL;
- r->spreadsheet.file_name =
filename
;
+ r->spreadsheet.file_name =
strdup (filename)
;
return &r->spreadsheet;
error:
return &r->spreadsheet;
error:
@@
-679,7
+679,7
@@
ods_make_reader (struct spreadsheet *spreadsheet,
assert (r);
r->read_names = opts->read_names;
ds_init_empty (&r->ods_errs);
assert (r);
r->read_names = opts->read_names;
ds_init_empty (&r->ods_errs);
- ++r->ref_cnt;
+ ++r->
spreadsheet.
ref_cnt;
xtr = init_reader (r, true);
if ( xtr == NULL)
xtr = init_reader (r, true);
if ( xtr == NULL)
@@
-1014,6
+1014,9
@@
ods_file_casereader_read (struct casereader *reader UNUSED, void *r_)
break;
}
break;
}
+ xmlFree (type);
+ xmlFree (val_string);
+
return c;
}
#endif
return c;
}
#endif