pidgin/win32/winpidgin.c

changeset 19081
744d42ac088d
parent 18771
6278b40a207f
child 19859
71d37b57eff2
equal deleted inserted replaced
19080:37da30ac730d 19081:744d42ac088d
330 posix = "pt"; break; 330 posix = "pt"; break;
331 } 331 }
332 break; 332 break;
333 case LANG_ROMANIAN: posix = "ro"; break; 333 case LANG_ROMANIAN: posix = "ro"; break;
334 case LANG_RUSSIAN: posix = "ru"; break; 334 case LANG_RUSSIAN: posix = "ru"; break;
335 /* LANG_CROATIAN == LANG_SERBIAN == LANG_BOSNIAN */
336 case LANG_SLOVAK: posix = "sk"; break; 335 case LANG_SLOVAK: posix = "sk"; break;
337 case LANG_SLOVENIAN: posix = "sl"; break; 336 case LANG_SLOVENIAN: posix = "sl"; break;
338 case LANG_ALBANIAN: posix = "sq"; break; 337 case LANG_ALBANIAN: posix = "sq"; break;
338 /* LANG_CROATIAN == LANG_SERBIAN == LANG_BOSNIAN */
339 case LANG_SERBIAN: 339 case LANG_SERBIAN:
340 switch (sub_id) { 340 switch (sub_id) {
341 case SUBLANG_SERBIAN_LATIN: 341 case SUBLANG_SERBIAN_LATIN:
342 posix = "sr@Latn"; break; 342 posix = "sr@Latn"; break;
343 case SUBLANG_SERBIAN_CYRILLIC: 343 case SUBLANG_SERBIAN_CYRILLIC:
536 char errbuf[512]; 536 char errbuf[512];
537 char pidgin_dir[MAX_PATH]; 537 char pidgin_dir[MAX_PATH];
538 char exe_name[MAX_PATH]; 538 char exe_name[MAX_PATH];
539 HMODULE hmod; 539 HMODULE hmod;
540 char *tmp; 540 char *tmp;
541 int pidgin_argc = __argc;
542 char **pidgin_argv = __argv;
541 543
542 /* If debug or help or version flag used, create console for output */ 544 /* If debug or help or version flag used, create console for output */
543 if (strstr(lpszCmdLine, "-d") || strstr(lpszCmdLine, "-h") || strstr(lpszCmdLine, "-v")) { 545 if (strstr(lpszCmdLine, "-d") || strstr(lpszCmdLine, "-h") || strstr(lpszCmdLine, "-v")) {
544 /* If stdout hasn't been redirected to a file, alloc a console 546 /* If stdout hasn't been redirected to a file, alloc a console
545 * (_istty() doesn't work for stuff using the GUI subsystem) */ 547 * (_istty() doesn't work for stuff using the GUI subsystem) */
599 } 601 }
600 602
601 /* Determine if we're running in portable mode */ 603 /* Determine if we're running in portable mode */
602 if (strstr(lpszCmdLine, "--portable-mode") 604 if (strstr(lpszCmdLine, "--portable-mode")
603 || (exe_name != NULL && strstr(exe_name, "-portable.exe"))) { 605 || (exe_name != NULL && strstr(exe_name, "-portable.exe"))) {
606 int i = 0, c = 0;
607
604 printf("Running in PORTABLE mode.\n"); 608 printf("Running in PORTABLE mode.\n");
605 portable_mode = TRUE; 609 portable_mode = TRUE;
610
611 /* Remove the --portable-mode arg from the args passed to pidgin so it doesn't choke */
612 pidgin_argv = malloc(sizeof(char*) * pidgin_argc);
613 for (; i < __argc; i++) {
614 if (strstr(__argv[i], "--portable-mode") == NULL) {
615 pidgin_argv[c] = __argv[i];
616 c++;
617 } else
618 pidgin_argc--;
619 }
606 } 620 }
607 621
608 if (portable_mode) 622 if (portable_mode)
609 portable_mode_dll_prep(pidgin_dir); 623 portable_mode_dll_prep(pidgin_dir);
610 else if (!getenv("PIDGIN_NO_DLL_CHECK")) 624 else if (!getenv("PIDGIN_NO_DLL_CHECK"))
633 MessageBox(NULL, errbuf, TEXT("Error"), MB_OK | MB_TOPMOST); 647 MessageBox(NULL, errbuf, TEXT("Error"), MB_OK | MB_TOPMOST);
634 648
635 return 0; 649 return 0;
636 } 650 }
637 651
638 return pidgin_main(hInstance, __argc, __argv); 652 return pidgin_main(hInstance, pidgin_argc, pidgin_argv);
639 } 653 }

mercurial