projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix error in dist-hook-git.
[pspp]
/
src
/
data
/
ods-reader.c
diff --git
a/src/data/ods-reader.c
b/src/data/ods-reader.c
index 01ff6cf115d82dc0b2861814308025f93bf814ca..2f058b044d8ac8892115ff53b498a96e7f8c78bf 100644
(file)
--- a/
src/data/ods-reader.c
+++ b/
src/data/ods-reader.c
@@
-1,5
+1,5
@@
/* PSPP - a program for statistical analysis.
/* PSPP - a program for statistical analysis.
- Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012, 2013
, 2016
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-170,10
+170,12
@@
ods_unref (struct spreadsheet *s)
{
xmlFree (r->sheets[i].name);
}
{
xmlFree (r->sheets[i].name);
}
-
+
+ dict_destroy (r->dict);
+
zip_reader_destroy (r->zreader);
free (r->sheets);
zip_reader_destroy (r->zreader);
free (r->sheets);
-
+ free (s->file_name);
free (r);
}
}
free (r);
}
}
@@
-650,7
+652,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:
@@
-919,8
+921,6
@@
ods_make_reader (struct spreadsheet *spreadsheet,
free (var_spec);
free (var_spec);
- dict_destroy (r->spreadsheet.dict);
- r->spreadsheet.dict = NULL;
ods_file_casereader_destroy (NULL, r);
return NULL;
ods_file_casereader_destroy (NULL, r);
return 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