Set dictionary's encoding when reading gnumeric files
authorJohn Darrington <john@darrington.wattle.id.au>
Sun, 29 Mar 2009 10:13:33 +0000 (18:13 +0800)
committerJohn Darrington <john@darrington.wattle.id.au>
Sun, 29 Mar 2009 10:13:33 +0000 (18:13 +0800)
src/data/dictionary.c
src/data/gnumeric-reader.c

index 6e377f803212a6fbdce251ce17b36f3121e28177..b5b6cca58f19bbf1732eae911379f0d4606caf3f 100644 (file)
@@ -78,7 +78,8 @@ struct dictionary
 void
 dict_set_encoding (struct dictionary *d, const char *enc)
 {
-  d->encoding = strdup (enc);
+  if (enc)
+    d->encoding = strdup (enc);
 }
 
 const char *
index 00a07d2f8a2b4ff57fb51f01c569b41a1d33f7ba..f2f4e52f58294d846aaa05b8d4f36d9df666917f 100644 (file)
@@ -497,6 +497,8 @@ gnumeric_open_reader (struct gnumeric_read_info *gri, struct dictionary **dict)
   /* Create the dictionary and populate it */
   *dict = r->dict = dict_create ();
 
+  dict_set_encoding (r->dict, (const char *) xmlTextReaderConstEncoding (r->xtr));
+  
   r->value_cnt = 0;
 
   for (i = 0 ; i < n_var_specs ; ++i )