lexer: Reimplement for better testability and internationalization.
[pspp-builds.git] / tests / dissect-sysfile.c
index cbe1f3a0507fdd8c1de2dff0850ec70c33671b21..444c15cc88bbec3544c017422aecb11b7b700bb3 100644 (file)
@@ -36,7 +36,7 @@
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
 
-#define VAR_NAME_LEN 64
+#define ID_MAX_LEN 64
 
 struct sfm_reader
   {
@@ -689,8 +689,8 @@ read_mrsets (struct sfm_reader *r, size_t size, size_t count)
 
           if (!text_match (text, ' '))
             {
-              sys_warn (r, _("Missing space following 'E' at offset %zu "
-                             "in MRSETS record"), text_pos (text));
+              sys_warn (r, _("Missing space following `%c' at offset %zu "
+                             "in MRSETS record"), 'E', text_pos (text));
               break;
             }
 
@@ -699,13 +699,13 @@ read_mrsets (struct sfm_reader *r, size_t size, size_t count)
             label_from_var_label = true;
           else if (strcmp (number, "1"))
             sys_warn (r, _("Unexpected label source value `%s' "
-                           "following 'E' at offset %zu in MRSETS record"),
+                           "following `E' at offset %zu in MRSETS record"),
                       number, text_pos (text));
 
         }
       else
         {
-          sys_warn (r, "missing 'C', 'D', or 'E' at offset %zu "
+          sys_warn (r, "missing `C', `D', or `E' at offset %zu "
                     "in mrsets record", text_pos (text));
           break;
         }
@@ -925,7 +925,7 @@ read_long_string_value_labels (struct sfm_reader *r, size_t size, size_t count)
   while (ftello (r->file) - start < size * count)
     {
       long long posn = ftello (r->file);
-      char var_name[VAR_NAME_LEN + 1];
+      char var_name[ID_MAX_LEN + 1];
       int var_name_len;
       int n_values;
       int width;
@@ -933,10 +933,10 @@ read_long_string_value_labels (struct sfm_reader *r, size_t size, size_t count)
 
       /* Read variable name. */
       var_name_len = read_int (r);
-      if (var_name_len > VAR_NAME_LEN)
+      if (var_name_len > ID_MAX_LEN)
         sys_error (r, _("Variable name length in long string value label "
                         "record (%d) exceeds %d-byte limit."),
-                   var_name_len, VAR_NAME_LEN);
+                   var_name_len, ID_MAX_LEN);
       read_string (r, var_name, var_name_len + 1);
 
       /* Read width, number of values. */