Fix for using -d with non-english locale

This commit is contained in:
Berke Viktor 2012-11-04 21:40:39 +01:00
parent 7873bfe211
commit 5c9283fc68
1 changed files with 26 additions and 0 deletions

View File

@ -956,11 +956,37 @@ main (int argc, char *argv[])
#ifdef WIN32 #ifdef WIN32
char hexchat_lang[13]; /* LC_ALL= plus 5 chars of hex_gui_lang and trailing \0 */ char hexchat_lang[13]; /* LC_ALL= plus 5 chars of hex_gui_lang and trailing \0 */
int i;
HANDLE mutex; HANDLE mutex;
#endif #endif
srand (time (0)); /* CL: do this only once! */ srand (time (0)); /* CL: do this only once! */
/* We must check for the config dir parameter, otherwise load_config() will behave incorrectly.
* load_config() must come before fe_args() because fe_args() calls gtk_init() which needs to
* know the language which is set in the config. The code below is copy-pasted from fe_args()
* for the most part. */
if (argc >= 3)
{
for (i = 1; i < argc - 1; i++)
{
if (strcmp (argv[i], "-d") == 0)
{
if (xdir)
{
g_free (xdir);
}
xdir = strdup (argv[i + 1]);
if (xdir[strlen (xdir) - 1] == G_DIR_SEPARATOR)
{
xdir[strlen (xdir) - 1] = 0;
}
}
}
}
load_config (); load_config ();
#ifdef WIN32 #ifdef WIN32