getting language stuff more self-contained

This commit is contained in:
Albert Cahalan 2004-12-28 06:27:48 +00:00
parent e4a36a766b
commit 15bc349942

View file

@ -645,6 +645,14 @@ static int search_int_array(int l, int *array)
} }
static char * langstr; static char * langstr;
static void set_langstr(const char *s)
{
if (langstr)
free(langstr);
langstr = strdup(s);
}
static int need_own_font; static int need_own_font;
static int need_right_to_left; static int need_right_to_left;
static const char * lang_prefix; static const char * lang_prefix;
@ -5258,7 +5266,6 @@ static void setup(int argc, char * argv[])
dont_load_stamps = 0; dont_load_stamps = 0;
print_delay = 0; print_delay = 0;
printcommand = "pngtopnm | pnmtops | lpr"; printcommand = "pngtopnm | pnmtops | lpr";
langstr = NULL;
use_print_config = 0; use_print_config = 0;
mirrorstamps = 0; mirrorstamps = 0;
disable_stamp_controls = 0; disable_stamp_controls = 0;
@ -5566,19 +5573,13 @@ static void setup(int argc, char * argv[])
} }
else if (strstr(argv[i], "--lang=") == argv[i]) else if (strstr(argv[i], "--lang=") == argv[i])
{ {
if (langstr != NULL) set_langstr(argv[i] + 7);
free(langstr);
langstr = strdup(argv[i] + 7);
} }
else if (strcmp(argv[i], "--lang") == 0 || strcmp(argv[i], "-l") == 0) else if (strcmp(argv[i], "--lang") == 0 || strcmp(argv[i], "-l") == 0)
{ {
if (i < argc - 1) if (i < argc - 1)
{ {
if (langstr != NULL) set_langstr(argv[i + 1]);
free(langstr);
langstr = strdup(argv[i + 1]);
i++; i++;
} }
else else
@ -5702,13 +5703,13 @@ static void setup(int argc, char * argv[])
if (langstr == NULL && getenv("LANG") != NULL && if (langstr == NULL && getenv("LANG") != NULL &&
strncasecmp(getenv("LANG"), "lt_LT", 5) == 0) strncasecmp(getenv("LANG"), "lt_LT", 5) == 0)
{ {
langstr = strdup("lithuanian"); set_langstr("lithuanian");
} }
if (langstr == NULL && getenv("LANG") != NULL && if (langstr == NULL && getenv("LANG") != NULL &&
strncasecmp(getenv("LANG"), "pl_PL", 5) == 0) strncasecmp(getenv("LANG"), "pl_PL", 5) == 0)
{ {
langstr = strdup("polish"); set_langstr("polish");
} }
if (langstr != NULL) if (langstr != NULL)
@ -14114,10 +14115,7 @@ static void parse_options(FILE * fi)
} }
else if (strstr(str, "lang=") == str) else if (strstr(str, "lang=") == str)
{ {
langstr = strdup(str + 5); set_langstr(str + 5);
#ifdef DEBUG
printf("langstr set to: %s\n", langstr);
#endif
} }
else if (strstr(str, "printdelay=") == str) else if (strstr(str, "printdelay=") == str)
{ {