sys-file-writer: Write variable names in mrsets in lowercase.
authorBen Pfaff <blp@cs.stanford.edu>
Sat, 18 Jun 2011 05:12:45 +0000 (22:12 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sat, 18 Jun 2011 05:12:45 +0000 (22:12 -0700)
SPSS appears to write the short names of the variables in a
multiple response set in lowercase, so this commit make PSPP
do the same.

Thanks to Curt Reinhold <Curt.Reinhold@psychonomics.de> for
providing the .sav file that led to this discovery.

doc/dev/system-file-format.texi
src/data/sys-file-writer.c

index 84b3f66ff7385afd57c232730648e640e4a67062..6276b6de859f999f376e9ab139a80bb8ab3e4dd4 100644 (file)
@@ -676,7 +676,8 @@ following:
 
 @itemize @bullet
 @item
-The set's name (an identifier that begins with @samp{$}).
+The set's name (an identifier that begins with @samp{$}), in mixed
+upper and lower case.
 
 @item
 An equals sign (@samp{=}).
@@ -717,8 +718,8 @@ written if LABELSOURCE=VARLABEL was specified.
 A space.
 
 @item
-The names of the variables in the set, each separated from the
-previous by a single space.
+The short names of the variables in the set, converted to lowercase,
+each separated from the previous by a single space.
 
 @item
 A line feed (byte 0x0a).
index 0aeb93a0a3137bacb0fff97a0d5bf1fcfac5cac7..6c9d4617109c722f7dea47dacc432553e7dc3e35 100644 (file)
@@ -700,6 +700,7 @@ write_mrsets (struct sfm_writer *w, const struct dictionary *dict,
           const char *short_name_utf8 = var_get_short_name (mrset->vars[j], 0);
           char *short_name = recode_string (encoding, "UTF-8",
                                             short_name_utf8, -1);
+          str_lowercase (short_name);
           ds_put_format (&s, " %s", short_name);
           free (short_name);
         }