Mercurial > pidgin.yaz
annotate src/win_gaim.c @ 11555:4da9e0d4e8d2
[gaim-migrate @ 13815]
Look at the current user registry keys to find GTK+ first, then fall back to the system registry (switched precedence). Pay no attention to the mass of changes, it is mostly whitespace fixes that were irritating me.
committer: Tailor Script <tailor@pidgin.im>
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Sat, 17 Sep 2005 22:28:18 +0000 |
parents | d83e1fe99d69 |
children | 71945305a87e |
rev | line source |
---|---|
4490 | 1 /* |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
2 * win_gaim.c |
4490 | 3 * |
4 * Date: June, 2002 | |
5 * Description: Entry point for win32 gaim, and various win32 dependant | |
6 * routines. | |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
7 * |
8046 | 8 * Gaim is the legal property of its developers, whose names are too numerous |
9 * to list here. Please refer to the COPYRIGHT file distributed with this | |
10 * source distribution. | |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
11 * |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
12 * This program is free software; you can redistribute it and/or modify |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
13 * it under the terms of the GNU General Public License as published by |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
14 * the Free Software Foundation; either version 2 of the License, or |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
15 * (at your option) any later version. |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
16 * |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
17 * This program is distributed in the hope that it will be useful, |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
20 * GNU General Public License for more details. |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
21 * |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
22 * You should have received a copy of the GNU General Public License |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
23 * along with this program; if not, write to the Free Software |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
25 * |
4490 | 26 */ |
11060
52d6b10025ca
[gaim-migrate @ 13014]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10898
diff
changeset
|
27 |
4490 | 28 #include <windows.h> |
7477
29d69daa1ede
[gaim-migrate @ 8090]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7363
diff
changeset
|
29 #include <fcntl.h> |
4490 | 30 #include <stdlib.h> |
6890
4eee806af511
[gaim-migrate @ 7436]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6816
diff
changeset
|
31 #include <string.h> |
4eee806af511
[gaim-migrate @ 7436]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6816
diff
changeset
|
32 #include <stdio.h> |
4490 | 33 |
11193
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
34 #define WIN32_PROXY_REGKEY "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings" |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
35 |
7522
07156f873116
[gaim-migrate @ 8135]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7477
diff
changeset
|
36 typedef int (CALLBACK* LPFNGAIMMAIN)(HINSTANCE, int, char**); |
07156f873116
[gaim-migrate @ 8135]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7477
diff
changeset
|
37 typedef void (CALLBACK* LPFNSETDLLDIRECTORY)(LPCTSTR); |
11060
52d6b10025ca
[gaim-migrate @ 13014]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10898
diff
changeset
|
38 typedef BOOL (CALLBACK* LPFNATTACHCONSOLE)(DWORD); |
7522
07156f873116
[gaim-migrate @ 8135]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7477
diff
changeset
|
39 |
4490 | 40 /* |
41 * PROTOTYPES | |
42 */ | |
7522
07156f873116
[gaim-migrate @ 8135]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7477
diff
changeset
|
43 static LPFNGAIMMAIN gaim_main = NULL; |
07156f873116
[gaim-migrate @ 8135]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7477
diff
changeset
|
44 static LPFNSETDLLDIRECTORY MySetDllDirectory = NULL; |
6890
4eee806af511
[gaim-migrate @ 7436]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6816
diff
changeset
|
45 |
4eee806af511
[gaim-migrate @ 7436]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6816
diff
changeset
|
46 |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
47 static BOOL read_reg_string(HKEY key, char* sub_key, char* val_name, LPBYTE data, LPDWORD data_len) { |
10688
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
48 HKEY hkey; |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
49 BOOL ret = FALSE; |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
50 LONG retv; |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
51 |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
52 if (ERROR_SUCCESS == (retv = RegOpenKeyEx(key, sub_key, 0, |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
53 KEY_QUERY_VALUE, &hkey))) { |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
54 if (ERROR_SUCCESS == (retv = RegQueryValueEx(hkey, val_name, |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
55 NULL, NULL, data, data_len))) |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
56 ret = TRUE; |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
57 else { |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
58 TCHAR szBuf[80]; |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
59 |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
60 FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
61 NULL, retv, 0, |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
62 (LPTSTR) &szBuf, sizeof(szBuf), NULL); |
6890
4eee806af511
[gaim-migrate @ 7436]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6816
diff
changeset
|
63 |
10688
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
64 printf("Could not read reg key '%s' subkey '%s' value: '%s'\nError: (%ld) %s\n", |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
65 ((key == HKEY_LOCAL_MACHINE) ? "HKLM" : |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
66 (key == HKEY_CURRENT_USER) ? "HKCU" : |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
67 "???"), |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
68 sub_key, val_name, retv, szBuf); |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
69 } |
11193
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
70 RegCloseKey(hkey); |
10688
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
71 } |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
72 else { |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
73 TCHAR szBuf[80]; |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
74 |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
75 FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, retv, 0, |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
76 (LPTSTR) &szBuf, sizeof(szBuf), NULL); |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
77 printf("Could not open reg subkey: %s\nError: (%ld) %s\n", |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
78 sub_key, retv, szBuf); |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
79 } |
7522
07156f873116
[gaim-migrate @ 8135]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7477
diff
changeset
|
80 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
81 return ret; |
6890
4eee806af511
[gaim-migrate @ 7436]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6816
diff
changeset
|
82 } |
4eee806af511
[gaim-migrate @ 7436]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6816
diff
changeset
|
83 |
7522
07156f873116
[gaim-migrate @ 8135]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7477
diff
changeset
|
84 static void dll_prep() { |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
85 char gtkpath[MAX_PATH + 1]; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
86 char path[MAX_PATH + 1]; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
87 DWORD plen; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
88 HKEY hkey; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
89 HMODULE hmod; |
6890
4eee806af511
[gaim-migrate @ 7436]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6816
diff
changeset
|
90 |
10688
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
91 plen = sizeof(gtkpath); |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
92 hkey = HKEY_CURRENT_USER; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
93 if (!read_reg_string(hkey, "SOFTWARE\\GTK\\2.0", "Path", |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
94 (LPBYTE) >kpath, &plen)) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
95 hkey = HKEY_LOCAL_MACHINE; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
96 if (!read_reg_string(hkey, "SOFTWARE\\GTK\\2.0", "Path", |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
97 (LPBYTE) >kpath, &plen)) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
98 printf("GTK+ Path Registry Key not found. " |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
99 "Assuming GTK+ is in the PATH.\n"); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
100 return; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
101 } |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
102 } |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
103 |
10688
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
104 /* this value is replaced during a successful RegQueryValueEx() */ |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
105 plen = sizeof(path); |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
106 /* Determine GTK+ dll path .. */ |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
107 if (!read_reg_string(hkey, "SOFTWARE\\GTK\\2.0", "DllPath", |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
108 (LPBYTE) &path, &plen)) { |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
109 strcpy(path, gtkpath); |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
110 strcat(path, "\\bin"); |
7818a5e9e3a2
[gaim-migrate @ 12237]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10521
diff
changeset
|
111 } |
6890
4eee806af511
[gaim-migrate @ 7436]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6816
diff
changeset
|
112 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
113 printf("GTK+ path found: %s\n", path); |
7522
07156f873116
[gaim-migrate @ 8135]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7477
diff
changeset
|
114 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
115 if ((hmod = GetModuleHandle("kernel32.dll"))) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
116 MySetDllDirectory = (LPFNSETDLLDIRECTORY) GetProcAddress( |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
117 hmod, "SetDllDirectoryA"); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
118 if (!MySetDllDirectory) |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
119 printf("SetDllDirectory not supported\n"); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
120 } else |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
121 printf("Error getting kernel32.dll module handle\n"); |
7522
07156f873116
[gaim-migrate @ 8135]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7477
diff
changeset
|
122 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
123 /* For Windows XP SP1+ / Server 2003 we use SetDllDirectory to avoid dll hell */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
124 if (MySetDllDirectory) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
125 printf("Using SetDllDirectory\n"); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
126 MySetDllDirectory(path); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
127 } |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
128 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
129 /* For the rest, we set the current directory and make sure |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
130 * SafeDllSearch is set to 0 where needed. */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
131 else { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
132 OSVERSIONINFO osinfo; |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
133 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
134 printf("Setting current directory to GTK+ dll directory\n"); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
135 SetCurrentDirectory(path); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
136 /* For Windows 2000 (SP3+) / WinXP (No SP): |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
137 * If SafeDllSearchMode is set to 1, Windows system directories are |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
138 * searched for dlls before the current directory. Therefore we set it |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
139 * to 0. |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
140 */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
141 osinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
142 GetVersionEx(&osinfo); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
143 if ((osinfo.dwMajorVersion == 5 && |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
144 osinfo.dwMinorVersion == 0 && |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
145 strcmp(osinfo.szCSDVersion, "Service Pack 3") >= 0) || |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
146 (osinfo.dwMajorVersion == 5 && |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
147 osinfo.dwMinorVersion == 1 && |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
148 strcmp(osinfo.szCSDVersion, "") >= 0) |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
149 ) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
150 DWORD regval = 1; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
151 DWORD reglen = sizeof(DWORD); |
7522
07156f873116
[gaim-migrate @ 8135]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7477
diff
changeset
|
152 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
153 printf("Using Win2k (SP3+) / WinXP (No SP).. Checking SafeDllSearch\n"); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
154 read_reg_string(HKEY_LOCAL_MACHINE, |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
155 "System\\CurrentControlSet\\Control\\Session Manager", |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
156 "SafeDllSearchMode", |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
157 (LPBYTE) ®val, |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
158 ®len); |
7522
07156f873116
[gaim-migrate @ 8135]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7477
diff
changeset
|
159 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
160 if (regval != 0) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
161 printf("Trying to set SafeDllSearchMode to 0\n"); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
162 regval = 0; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
163 if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
164 "System\\CurrentControlSet\\Control\\Session Manager", |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
165 0, KEY_SET_VALUE, &hkey |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
166 ) == ERROR_SUCCESS) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
167 if (RegSetValueEx(hkey, |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
168 "SafeDllSearchMode", 0, |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
169 REG_DWORD, (LPBYTE) ®val, |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
170 sizeof(DWORD) |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
171 ) != ERROR_SUCCESS) |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
172 printf("Error writing SafeDllSearchMode. Error: %u\n", |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
173 (UINT) GetLastError()); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
174 RegCloseKey(hkey); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
175 } else |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
176 printf("Error opening Session Manager key for writing. Error: %u\n", |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
177 (UINT) GetLastError()); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
178 } else |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
179 printf("SafeDllSearchMode is set to 0\n"); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
180 }/*end else*/ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
181 } |
6890
4eee806af511
[gaim-migrate @ 7436]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6816
diff
changeset
|
182 } |
4490 | 183 |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
184 static char* wgaim_lcid_to_posix(LCID lcid) { |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
185 switch(lcid) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
186 case 1026: return "bg"; /* bulgarian */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
187 case 2125: return "my_MM"; /* burmese (Myanmar) */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
188 case 1027: return "ca"; /* catalan */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
189 case 1050: return "hr"; /* croatian */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
190 case 1029: return "cs"; /* czech */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
191 case 1030: return "da"; /* danish */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
192 case 1043: return "nl"; /* dutch - netherlands */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
193 case 1033: return "en"; /* english - us */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
194 case 3081: return "en_AU"; /* english - australia */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
195 case 4105: return "en_CA"; /* english - canada */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
196 case 2057: return "en_GB"; /* english - great britain */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
197 case 1035: return "fi"; /* finnish */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
198 case 1036: return "fr"; /* french - france */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
199 case 1031: return "de"; /* german - germany */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
200 case 1032: return "el"; /* greek */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
201 case 1037: return "he"; /* hebrew */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
202 case 1081: return "hi"; /* hindi */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
203 case 1038: return "hu"; /* hungarian */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
204 case 1040: return "it"; /* italian - italy */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
205 case 1041: return "ja"; /* japanese */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
206 case 1042: return "ko"; /* korean */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
207 case 1063: return "lt"; /* lithuanian */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
208 case 1071: return "mk"; /* macedonian */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
209 case 1044: return "no"; /* norwegian */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
210 case 1045: return "pl"; /* polish */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
211 case 2070: return "pt"; /* portuguese - portugal */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
212 case 1046: return "pt_BR"; /* portuguese - brazil */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
213 case 1048: return "ro"; /* romanian - romania */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
214 case 1049: return "ru"; /* russian - russia */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
215 case 2074: return "sr@Latn"; /* serbian - latin */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
216 case 3098: return "sr"; /* serbian - cyrillic */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
217 case 2052: return "zh_CN"; /* chinese - china (simple) */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
218 case 1051: return "sk"; /* slovak */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
219 case 1060: return "sl"; /* slovenian */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
220 case 1034: return "es"; /* spanish */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
221 case 1052: return "sq"; /* albanian */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
222 case 1053: return "sv"; /* swedish */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
223 case 1054: return "th"; /* thai */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
224 case 1028: return "zh_TW"; /* chinese - taiwan (traditional) */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
225 case 1055: return "tr"; /* turkish */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
226 case 1058: return "uk"; /* ukrainian */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
227 case 1066: return "vi"; /* vietnamese */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
228 default: return NULL; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
229 } |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
230 } |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
231 |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
232 /* Determine and set Gaim locale as follows (in order of priority): |
10210
4d3c2749deec
[gaim-migrate @ 11332]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
10095
diff
changeset
|
233 - Check GAIMLANG env var |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
234 - Check NSIS Installer Language reg value |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
235 - Use default user locale |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
236 */ |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
237 static const char *wgaim_get_locale() { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
238 const char *locale = NULL; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
239 char data[10]; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
240 DWORD datalen = 10; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
241 LCID lcid; |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
242 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
243 /* Check if user set GAIMLANG env var */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
244 if ((locale = getenv("GAIMLANG"))) |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
245 return locale; |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
246 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
247 if (read_reg_string(HKEY_CURRENT_USER, "SOFTWARE\\gaim", |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
248 "Installer Language", (LPBYTE) &data, &datalen)) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
249 if ((locale = wgaim_lcid_to_posix(atoi(data)))) |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
250 return locale; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
251 } |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
252 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
253 lcid = GetUserDefaultLCID(); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
254 if ((locale = wgaim_lcid_to_posix(lcid))) |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
255 return locale; |
10330 | 256 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
257 return "en"; |
10330 | 258 } |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
259 |
10330 | 260 static void wgaim_set_locale() { |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
261 const char *locale = NULL; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
262 char envstr[25]; |
10330 | 263 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
264 locale = wgaim_get_locale(); |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
265 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
266 snprintf(envstr, 25, "LANG=%s", locale); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
267 printf("Setting locale: %s\n", envstr); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
268 putenv(envstr); |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
269 } |
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
270 |
10212
08251403c871
[gaim-migrate @ 11336]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
10210
diff
changeset
|
271 static BOOL wgaim_set_running() { |
08251403c871
[gaim-migrate @ 11336]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
10210
diff
changeset
|
272 HANDLE h; |
08251403c871
[gaim-migrate @ 11336]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
10210
diff
changeset
|
273 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
274 if ((h = CreateMutex(NULL, FALSE, "gaim_is_running"))) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
275 if (GetLastError() == ERROR_ALREADY_EXISTS) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
276 MessageBox(NULL, |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
277 "An instance of Gaim is already running", |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
278 NULL, MB_OK | MB_TOPMOST); |
10212
08251403c871
[gaim-migrate @ 11336]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
10210
diff
changeset
|
279 return FALSE; |
08251403c871
[gaim-migrate @ 11336]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
10210
diff
changeset
|
280 } |
08251403c871
[gaim-migrate @ 11336]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
10210
diff
changeset
|
281 } |
08251403c871
[gaim-migrate @ 11336]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
10210
diff
changeset
|
282 return TRUE; |
08251403c871
[gaim-migrate @ 11336]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
10210
diff
changeset
|
283 } |
7350
e28728795a45
[gaim-migrate @ 7941]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6890
diff
changeset
|
284 |
11193
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
285 static void wgaim_set_proxy() { |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
286 DWORD regval = 1; |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
287 DWORD reglen = sizeof(DWORD); |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
288 |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
289 /* If the proxy server environment variables are already set, |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
290 * we shouldn't override them */ |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
291 if (getenv("HTTP_PROXY") || getenv("http_proxy") || getenv("HTTPPROXY")) |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
292 return; |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
293 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
294 if (read_reg_string(HKEY_CURRENT_USER, WIN32_PROXY_REGKEY, |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
295 "ProxyEnable", |
11193
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
296 (LPBYTE) ®val, ®len) && (regval & 1)) { |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
297 char proxy_server[2048]; |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
298 char *c = NULL; |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
299 reglen = sizeof(proxy_server); |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
300 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
301 if (!read_reg_string(HKEY_CURRENT_USER, WIN32_PROXY_REGKEY, |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
302 "ProxyServer", (LPBYTE) &proxy_server, ®len)) |
11193
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
303 return; |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
304 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
305 if ((reglen > strlen("http=")) |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
306 && (c = strstr(proxy_server, "http="))) { |
11193
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
307 char *d; |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
308 c += strlen("http="); |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
309 d = strchr(c, ';'); |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
310 if (d) { |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
311 *d = '\0'; |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
312 } |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
313 /* c now points the proxy server (and port) */ |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
314 } |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
315 |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
316 if (c) { |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
317 const char envstr_prefix[] = "HTTP_PROXY=http://"; |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
318 char envstr[sizeof(envstr_prefix) + strlen(c) + 1]; |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
319 snprintf(envstr, sizeof(envstr), "%s%s", |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
320 envstr_prefix, c); |
11193
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
321 printf("Setting HTTP Proxy: %s\n", envstr); |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
322 putenv(envstr); |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
323 } |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
324 } |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
325 |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
326 } |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
327 |
4490 | 328 #ifdef __GNUC__ |
329 # ifndef _stdcall | |
330 # define _stdcall __attribute__((stdcall)) | |
331 # endif | |
332 #endif | |
333 | |
334 int _stdcall | |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
335 WinMain (struct HINSTANCE__ *hInstance, struct HINSTANCE__ *hPrevInstance, |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
336 char *lpszCmdLine, int nCmdShow) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
337 char errbuf[512]; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
338 char gaimdir[MAX_PATH]; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
339 HMODULE hmod; |
6890
4eee806af511
[gaim-migrate @ 7436]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6816
diff
changeset
|
340 |
11469
d83e1fe99d69
[gaim-migrate @ 13709]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11441
diff
changeset
|
341 /* If debug or help or version flag used, create console for output */ |
d83e1fe99d69
[gaim-migrate @ 13709]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11441
diff
changeset
|
342 if (strstr(lpszCmdLine, "-d") || strstr(lpszCmdLine, "-h") || strstr(lpszCmdLine, "-v")) { |
11060
52d6b10025ca
[gaim-migrate @ 13014]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10898
diff
changeset
|
343 LPFNATTACHCONSOLE MyAttachConsole = NULL; |
52d6b10025ca
[gaim-migrate @ 13014]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10898
diff
changeset
|
344 if ((hmod = GetModuleHandle("kernel32.dll"))) { |
52d6b10025ca
[gaim-migrate @ 13014]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10898
diff
changeset
|
345 MyAttachConsole = |
52d6b10025ca
[gaim-migrate @ 13014]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10898
diff
changeset
|
346 (LPFNATTACHCONSOLE) |
52d6b10025ca
[gaim-migrate @ 13014]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10898
diff
changeset
|
347 GetProcAddress(hmod, "AttachConsole"); |
52d6b10025ca
[gaim-migrate @ 13014]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10898
diff
changeset
|
348 } |
52d6b10025ca
[gaim-migrate @ 13014]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10898
diff
changeset
|
349 if ((MyAttachConsole && MyAttachConsole(ATTACH_PARENT_PROCESS)) |
52d6b10025ca
[gaim-migrate @ 13014]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10898
diff
changeset
|
350 || AllocConsole()) |
52d6b10025ca
[gaim-migrate @ 13014]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10898
diff
changeset
|
351 freopen("CONOUT$", "w", stdout); |
52d6b10025ca
[gaim-migrate @ 13014]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10898
diff
changeset
|
352 } |
7802
f1d2907db5be
[gaim-migrate @ 8448]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7522
diff
changeset
|
353 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
354 /* Load exception handler if we have it */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
355 if (GetModuleFileName(NULL, gaimdir, MAX_PATH) != 0) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
356 char *tmp = gaimdir; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
357 char *prev = NULL; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
358 |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
359 while ((tmp = strchr(tmp, '\\'))) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
360 prev = tmp; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
361 tmp++; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
362 } |
7477
29d69daa1ede
[gaim-migrate @ 8090]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7363
diff
changeset
|
363 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
364 if (prev) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
365 prev[0] = '\0'; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
366 strcat(gaimdir, "\\exchndl.dll"); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
367 if (LoadLibrary(gaimdir)) |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
368 printf("Loaded exchndl.dll\n"); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
369 } |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
370 } else { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
371 snprintf(errbuf, 512, |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
372 "Error getting module filename. Error: %u", |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
373 (UINT) GetLastError()); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
374 MessageBox(NULL, errbuf, NULL, MB_OK | MB_TOPMOST); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
375 } |
7477
29d69daa1ede
[gaim-migrate @ 8090]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7363
diff
changeset
|
376 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
377 if (!getenv("GAIM_NO_DLL_CHECK")) |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
378 dll_prep(); |
6816
5aeba37b303c
[gaim-migrate @ 7356]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4490
diff
changeset
|
379 |
11193
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
380 wgaim_set_locale(); |
11469
d83e1fe99d69
[gaim-migrate @ 13709]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11441
diff
changeset
|
381 /* If help or version flag used, do not check Mutex */ |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
382 if (!strstr(lpszCmdLine, "-h") && !strstr(lpszCmdLine, "-v")) |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
383 if (!getenv("GAIM_MULTI_INST") && !wgaim_set_running()) |
11469
d83e1fe99d69
[gaim-migrate @ 13709]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11441
diff
changeset
|
384 return 0; |
11193
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
385 |
e865bdbbf91d
[gaim-migrate @ 13316]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11060
diff
changeset
|
386 wgaim_set_proxy(); |
7477
29d69daa1ede
[gaim-migrate @ 8090]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
7363
diff
changeset
|
387 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
388 /* Now we are ready for Gaim .. */ |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
389 if ((hmod = LoadLibrary("gaim.dll"))) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
390 gaim_main = (LPFNGAIMMAIN) GetProcAddress(hmod, "gaim_main"); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
391 } |
6890
4eee806af511
[gaim-migrate @ 7436]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6816
diff
changeset
|
392 |
11555
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
393 if (!gaim_main) { |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
394 snprintf(errbuf, 512, "Error loading gaim.dll. Error: %u", |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
395 (UINT) GetLastError()); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
396 MessageBox(NULL, errbuf, NULL, MB_OK | MB_TOPMOST); |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
397 return 0; |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
398 } |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
399 |
4da9e0d4e8d2
[gaim-migrate @ 13815]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11469
diff
changeset
|
400 return gaim_main (hInstance, __argc, __argv); |
4490 | 401 } |