Read dictionary encoding from data files.
[pspp] / src / data / sys-file-reader.c
index af09189e1fa0721919597bb18eef4d1508e07f1d..fb4f6f93defcc8cc7486fd3039fe7a36f8efd37a 100644 (file)
@@ -744,7 +744,11 @@ read_extension_record (struct sfm_reader *r, struct dictionary *dict,
       break;
 
     case 7:
-      /* Unknown purpose. */
+      /* Used by the MRSETS command. */
+      break;
+
+    case 8:
+      /* Used by the SPSS Data Entry software. */
       break;
 
     case 11:
@@ -774,7 +778,12 @@ read_extension_record (struct sfm_reader *r, struct dictionary *dict,
     case 20:
       /* New in SPSS 16.  Contains a single string that describes
          the character encoding, e.g. "windows-1252". */
-      break;
+      {
+       char *encoding = calloc (size, count + 1);
+       read_string (r, encoding, count + 1);
+       dict_set_encoding (dict, encoding);
+       return;
+      }
 
     case 21:
       /* New in SPSS 16.  Encodes value labels for long string
@@ -784,7 +793,8 @@ read_extension_record (struct sfm_reader *r, struct dictionary *dict,
       break;
 
     default:
-      sys_warn (r, _("Unrecognized record type 7, subtype %d."), subtype);
+      sys_warn (r, _("Unrecognized record type 7, subtype %d.  Please send a copy of this file, and the syntax which created it to %s"),
+               subtype, PACKAGE_BUGREPORT);
       break;
     }