X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp-builds.git;a=blobdiff_plain;f=src%2Fdata%2Fsys-file-reader.c;h=0f583a12a5005fe360abd8662847039742b9afbb;hp=5850887fb4aaa9d3679603f2a198ad5cffdbac11;hb=573b7c2cdd49d29bcc35e407bb52cb28199973c1;hpb=073997e65ce756a77a7db90cc23fb7f501bdd087 diff --git a/src/data/sys-file-reader.c b/src/data/sys-file-reader.c index 5850887f..0f583a12 100644 --- a/src/data/sys-file-reader.c +++ b/src/data/sys-file-reader.c @@ -202,8 +202,17 @@ recode_strings (struct dictionary *dict) { /* Convert the long variable name */ struct variable *var = dict_get_var (dict, i); - char *utf8_name = recode_string (UTF8, enc, var_get_name (var), -1); - dict_rename_var (dict, var, utf8_name); + const char *native_name = var_get_name (var); + char *utf8_name = recode_string (UTF8, enc, native_name, -1); + if ( 0 != strcmp (utf8_name, native_name)) + { + if ( NULL == dict_lookup_var (dict, utf8_name)) + dict_rename_var (dict, var, utf8_name); + else + msg (MW, + _("Recoded variable name duplicates an existing `%s' within system file."), utf8_name); + } + free (utf8_name); /* Convert the variable label */