# HG changeset patch # User Mark Doliner # Date 1102551870 0 # Node ID 4f5a7ddd3161ce413a3dc9ca99c1e5638f0c9e01 # Parent 0ad82da3ffcf91add7577f106622aa90b949116a [gaim-migrate @ 11537] Get rid of 3 goto's. Can someone please let me know if this doesn't compile? Herman, I hope this changes are ok with you... if not, feel free to revert it. committer: Tailor Script diff -r 0ad82da3ffcf -r 4f5a7ddd3161 src/win_gaim.c --- a/src/win_gaim.c Thu Dec 09 00:04:39 2004 +0000 +++ b/src/win_gaim.c Thu Dec 09 00:24:30 2004 +0000 @@ -216,29 +216,33 @@ - Check NSIS Installer Language reg value - Use default user locale */ -static void wgaim_set_locale() { +static const char* wgaim_get_locale() { + const char* locale=NULL; char data[10]; DWORD datalen = 10; - char* locale=NULL; - char envstr[25]; LCID lcid; /* Check if user set GAIMLANG env var */ - if((locale = (char*)getenv("GAIMLANG"))) - goto finish; + if((locale = getenv("GAIMLANG"))) + return locale; if(read_reg_string(HKEY_CURRENT_USER, "SOFTWARE\\gaim", "Installer Language", (LPBYTE)&data, &datalen)) { if((locale = wgaim_lcid_to_posix(atoi(data)))) - goto finish; + return locale; } lcid = GetUserDefaultLCID(); if((locale = wgaim_lcid_to_posix(lcid))) - goto finish; + return locale; + + return "en"; +} - finish: - if(!locale) - locale = "en"; +static void wgaim_set_locale() { + const char* locale=NULL; + char envstr[25]; + + locale = wgaim_get_locale(); snprintf(envstr, 25, "LANG=%s", locale); printf("Setting locale: %s\n", envstr);