From 1509c6773d7302a2753c4f47b3e52fc5e3cca185 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Sat, 16 Feb 2013 07:59:29 +0100 Subject: [PATCH] Return NULL if not a gnumeric file --- src/data/gnumeric-reader.c | 8 ++++++++ src/ui/gui/page-file.c | 4 ++++ 2 files changed, 12 insertions(+) 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); -- 2.30.2