X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fcontrol%2Frepeat.c;h=0e464420a2bf6d43a4f8ca2bc0f405fc76e6ea3c;hb=7559bde1ff007c0ac0230fba30ae6c416148e171;hp=e76c4903dea02e6b07c653201a9ff38dfef4f2ce;hpb=4881184f738deb7a4c5b843a361d4225f4e3d6c0;p=pspp diff --git a/src/language/control/repeat.c b/src/language/control/repeat.c index e76c4903de..0e464420a2 100644 --- a/src/language/control/repeat.c +++ b/src/language/control/repeat.c @@ -30,6 +30,7 @@ #include "libpspp/cast.h" #include "libpspp/hash-functions.h" #include "libpspp/hmap.h" +#include "libpspp/i18n.h" #include "libpspp/message.h" #include "libpspp/str.h" #include "libpspp/misc.h" @@ -78,7 +79,7 @@ cmd_do_repeat (struct lexer *lexer, struct dataset *ds) static unsigned int hash_dummy (const char *name, size_t name_len) { - return hash_case_bytes (name, name_len, 0); + return utf8_hash_case_bytes (name, name_len, 0); } static const struct dummy_var * @@ -88,7 +89,7 @@ find_dummy_var (struct hmap *hmap, const char *name, size_t name_len) HMAP_FOR_EACH_WITH_HASH (dv, struct dummy_var, hmap_node, hash_dummy (name, name_len), hmap) - if (strcasecmp (dv->name, name)) + if (utf8_strcasecmp (dv->name, name)) return dv; return NULL; @@ -304,9 +305,8 @@ parse_commands (struct lexer *lexer, struct hmap *dummies) for (i = 0; i < n_values; i++) { struct string *output = &outputs[n_values - i - 1]; - struct lex_reader *reader; - - reader = lex_reader_for_substring_nocopy (ds_ss (output)); + const char *encoding = lex_get_encoding (lexer); + struct lex_reader *reader = lex_reader_for_substring_nocopy (ds_ss (output), encoding); lex_reader_set_file_name (reader, file_name); reader->line_number = line_number; lex_include (lexer, reader); @@ -438,6 +438,6 @@ parse_strings (struct lexer *lexer, struct dummy_var *dv) int cmd_end_repeat (struct lexer *lexer UNUSED, struct dataset *ds UNUSED) { - msg (SE, _("No matching DO REPEAT.")); + msg (SE, _("No matching %s."), "DO REPEAT"); return CMD_CASCADING_FAILURE; }