Return NULL if not a gnumeric file
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 16 Feb 2013 06:59:29 +0000 (07:59 +0100)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 16 Feb 2013 14:04:25 +0000 (15:04 +0100)
src/data/gnumeric-reader.c
src/ui/gui/page-file.c

index 7bec97a9e0c6af974b250e78e42d19483894aa5c..07b88163398f7df9a4b6aa7380b5fe6f0e607369 100644 (file)
@@ -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;
index 48db5a2a16de868890b18792c3c705e4ffe3c400..a781fcad2edddde6f7226d1773b9d51476a2ee4b 100644 (file)
@@ -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);