X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fdictionary%2Fmrsets.c;h=1f281221a258c6e49d3a0183ccb74c01321008fb;hb=f4e3578b2c8ce537de5516af55a62b84ebf2b744;hp=3b96da3a6ceab28a7177416386bcef1d22ca87fa;hpb=8f7af0acaf8a9253242d89fcdb26e285841f7833;p=pspp diff --git a/src/language/dictionary/mrsets.c b/src/language/dictionary/mrsets.c index 3b96da3a6c..1f281221a2 100644 --- a/src/language/dictionary/mrsets.c +++ b/src/language/dictionary/mrsets.c @@ -92,10 +92,16 @@ parse_group (struct lexer *lexer, struct dictionary *dict, { if (lex_match_id (lexer, "NAME")) { - if (!lex_force_match (lexer, T_EQUALS) || !lex_force_id (lexer) - || !mrset_is_valid_name (lex_tokcstr (lexer), - dict_get_encoding (dict), true)) + if (!lex_force_match (lexer, T_EQUALS) || !lex_force_id (lexer)) goto error; + char *error = mrset_is_valid_name__ (lex_tokcstr (lexer), + dict_get_encoding (dict)); + if (error) + { + lex_error (lexer, "%s", error); + free (error); + goto error; + } free (mrset->name); mrset->name = xstrdup (lex_tokcstr (lexer)); @@ -146,7 +152,7 @@ parse_group (struct lexer *lexer, struct dictionary *dict, { if (!lex_is_integer (lexer)) { - msg (SE, _("Numeric VALUE must be an integer.")); + lex_error (lexer, _("Numeric VALUE must be an integer.")); goto error; } value_destroy (&mrset->counted, mrset->width); @@ -481,8 +487,8 @@ parse_mrset_names (struct lexer *lexer, struct dictionary *dict, return false; if (dict_lookup_mrset (dict, lex_tokcstr (lexer)) == NULL) { - msg (SE, _("No multiple response set named %s."), - lex_tokcstr (lexer)); + lex_error (lexer, _("No multiple response set named %s."), + lex_tokcstr (lexer)); stringi_set_destroy (mrset_names); return false; }