SET: Improve error messages for SET CCx.
[pspp] / src / language / data-io / save-translate.c
index 0fb474631d01b4580bd2419537d3881a59fc664e..c157701e6cbd21fbc36fda554cf5bde173d9d9e6 100644 (file)
@@ -77,7 +77,7 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds)
   include_var_names = false;
   use_value_labels = false;
   use_print_formats = false;
-  decimal = settings_get_decimal_char (FMT_F);
+  decimal = settings_get_fmt_settings ()->decimal;
   delimiter = 0;
   qualifier = '"';
 
@@ -93,7 +93,7 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds)
        {
           if (handle != NULL)
             {
-              lex_sbc_only_once ("OUTFILE");
+              lex_sbc_only_once (lexer, "OUTFILE");
               goto error;
             }
 
@@ -107,7 +107,7 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds)
         {
           if (type != 0)
             {
-              lex_sbc_only_once ("TYPE");
+              lex_sbc_only_once (lexer, "TYPE");
               goto error;
             }
 
@@ -165,8 +165,8 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds)
                   /* XXX should support multibyte UTF-8 delimiters */
                   if (ss_length (lex_tokss (lexer)) != 1)
                     {
-                      msg (SE, _("The %s string must contain exactly one "
-                                 "character."), "DELIMITER");
+                      lex_error (lexer, _("The %s string must contain exactly "
+                                          "one character."), "DELIMITER");
                       goto error;
                     }
                   delimiter = ss_first (lex_tokss (lexer));
@@ -180,8 +180,8 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds)
                   /* XXX should support multibyte UTF-8 qualifiers */
                   if (ss_length (lex_tokss (lexer)) != 1)
                     {
-                      msg (SE, _("The %s string must contain exactly one "
-                                 "character."), "QUALIFIER");
+                      lex_error (lexer, _("The %s string must contain exactly "
+                                          "one character."), "QUALIFIER");
                       goto error;
                     }
                   qualifier = ss_first (lex_tokss (lexer));
@@ -236,12 +236,12 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds)
 
   if (type == 0)
     {
-      lex_sbc_missing ("TYPE");
+      lex_sbc_missing (lexer, "TYPE");
       goto error;
     }
   else if (handle == NULL)
     {
-      lex_sbc_missing ("OUTFILE");
+      lex_sbc_missing (lexer, "OUTFILE");
       goto error;
     }
   else if (!replace && fn_exists (handle))