ascii.c: Move auto out of the #if HAVE_DECL_SIGWINCH condtional
[pspp] / src / data / ods-reader.c
index 51ee5ac39ace8994901deed27ef1e236ef56591d..122e98c76d90060da92d7e79bca19adcc2599ff0 100644 (file)
@@ -127,7 +127,7 @@ ods_file_casereader_destroy (struct casereader *reader UNUSED, void *r_)
     xmlFreeTextReader (r->xtr);
 
   if ( ! ds_is_empty (&r->ods_errs))
-    msg (ME, ds_cstr (&r->ods_errs));
+    msg (ME, "%s", ds_cstr (&r->ods_errs));
 
   ds_destroy (&r->ods_errs);
 
@@ -315,13 +315,14 @@ convert_xml_to_value (struct ccase *c, const struct variable *var,
     value_copy_str_rpad (v, var_get_width (var), xmv->text, ' ');
   else
     {
+      const char *text ;
       const struct fmt_spec *fmt = var_get_write_format (var);
       enum fmt_category fc  = fmt_get_category (fmt->type);
 
       assert ( fc != FMT_CAT_STRING);
 
-      const char *text = xmv->value ? CHAR_CAST (const char *, xmv->value):
-       CHAR_CAST (const char *, xmv->text);
+      text =
+        xmv->value ? CHAR_CAST (const char *, xmv->value) : CHAR_CAST (const char *, xmv->text);
 
       data_in (ss_cstr (text), "UTF-8",
               fmt->type,
@@ -344,12 +345,14 @@ ods_open_reader (struct spreadsheet_read_info *gri, struct dictionary **dict)
   int n_var_specs = 0;
 
   struct ods_reader *r = xzalloc (sizeof *r);
+  struct zip_member *content = NULL;
+  struct zip_reader *zreader ;
+  xmlChar *val_string = NULL;
 
   r->read_names = gri->read_names;
   ds_init_empty (&r->ods_errs);
 
-  struct zip_reader *zreader = zip_reader_create (gri->file_name, &r->ods_errs);
-  struct zip_member *content = NULL;
+  zreader = zip_reader_create (gri->file_name, &r->ods_errs);
 
   if ( NULL == zreader)
     {
@@ -408,8 +411,10 @@ ods_open_reader (struct spreadsheet_read_info *gri, struct dictionary **dict)
   /* If CELLRANGE was given, then we know how many variables should be read */
   if ( r->stop_col != -1 )
     {
+      assert (var_spec == NULL);
       n_var_specs =  r->stop_col - r->start_col + 1;
       var_spec = xrealloc (var_spec, sizeof (*var_spec) * n_var_specs);
+      memset (var_spec, '\0', sizeof (*var_spec) * n_var_specs);
     }
 
 
@@ -473,7 +478,6 @@ ods_open_reader (struct spreadsheet_read_info *gri, struct dictionary **dict)
        }
     }
 
-  xmlChar *val_string = NULL;
   /* Read in the first row of data */
   while (1 == xmlTextReaderRead (r->xtr))
     {