From: John Darrington <john@darrington.wattle.id.au> Date: Sat, 16 Feb 2013 06:59:29 +0000 (+0100) Subject: Return NULL if not a gnumeric file X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1509c6773d7302a2753c4f47b3e52fc5e3cca185;p=pspp Return NULL if not a gnumeric file --- diff --git a/src/data/gnumeric-reader.c b/src/data/gnumeric-reader.c index 7bec97a9e0..07b8816339 100644 --- a/src/data/gnumeric-reader.c +++ b/src/data/gnumeric-reader.c @@ -488,6 +488,14 @@ gnumeric_reopen (struct gnumeric_reader *r, const char *filename) process_node (r); } + if ( ret != 1) + { + /* Does not seem to be a gnumeric file */ + xmlFreeTextReader (r->xtr); + free (r); + return NULL; + } + r->spreadsheet.type = SPREADSHEET_GNUMERIC; return r; diff --git a/src/ui/gui/page-file.c b/src/ui/gui/page-file.c index 48db5a2a16..a781fcad2e 100644 --- a/src/ui/gui/page-file.c +++ b/src/ui/gui/page-file.c @@ -96,9 +96,13 @@ init_file (struct import_assistant *ia, GtkWindow *parent_window) sri.read_names = true; sri.asw = -1; + printf ("%s:%d %p\n", __FILE__, __LINE__, ia->spreadsheet); + if (ia->spreadsheet == NULL) ia->spreadsheet = gnumeric_probe (file->file_name); + printf ("%s:%d %p\n", __FILE__, __LINE__, ia->spreadsheet); + if (ia->spreadsheet == NULL) ia->spreadsheet = ods_probe (file->file_name);