Wed, 13 May 2009 20:29:03 +0000
Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.
| 3712 | 1 | /* |
| 15884 | 2 | * purple |
|
17666
9c32c365b852
Pretend that WSAEINPROGRESS is EAGAIN (for our purposes, I think they are equivalent). I think this might help #485. References #485.
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
3 | * |
|
5913
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
4 | * Copyright (C) 2002-2003, Herman Bloggs <hermanator12002@yahoo.com> |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
5 | * |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
6 | * This program is free software; you can redistribute it and/or modify |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
7 | * it under the terms of the GNU General Public License as published by |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
8 | * the Free Software Foundation; either version 2 of the License, or |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
9 | * (at your option) any later version. |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
10 | * |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
11 | * This program is distributed in the hope that it will be useful, |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
14 | * GNU General Public License for more details. |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
15 | * |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
16 | * You should have received a copy of the GNU General Public License |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
17 | * along with this program; if not, write to the Free Software |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
18553
diff
changeset
|
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
5913
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
19 | * |
| 3712 | 20 | */ |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
21 | #include <winsock2.h> |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
22 | #include <ws2tcpip.h> |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
23 | #include <io.h> |
| 3712 | 24 | #include <stdlib.h> |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
25 | #include <stdio.h> |
| 3712 | 26 | #include <errno.h> |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
27 | #include <sys/timeb.h> |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
28 | #include <sys/stat.h> |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
29 | #include <time.h> |
|
10589
4e10236e06d4
[gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents:
9611
diff
changeset
|
30 | #include <glib.h> |
|
21771
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
31 | #include "config.h" |
|
6425
3e86c949c98a
[gaim-migrate @ 6933]
Herman Bloggs <herman@bluedigits.com>
parents:
5913
diff
changeset
|
32 | #include "debug.h" |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
33 | #include "libc_internal.h" |
|
25333
182125d7b7fc
Fix from the QuteCom folks to compile with Glib < 2.8.5 with MSVC. Fixes #7761. Also some minor cleanup from me.
Daniel Atallah <datallah@pidgin.im>
parents:
24843
diff
changeset
|
34 | #include <glib/gstdio.h> |
| 3712 | 35 | |
|
21771
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
36 | #ifdef ENABLE_NLS |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
37 | # include <locale.h> |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
38 | # include <libintl.h> |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
39 | # define _(String) ((const char *)dgettext(PACKAGE, String)) |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
40 | # ifdef gettext_noop |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
41 | # define N_(String) gettext_noop (String) |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
42 | # else |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
43 | # define N_(String) (String) |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
44 | # endif |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
45 | #else |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
46 | # include <locale.h> |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
47 | # define N_(String) (String) |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
48 | # ifndef _ |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
49 | # define _(String) ((const char *)String) |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
50 | # endif |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
51 | # define ngettext(Singular, Plural, Number) ((Number == 1) ? ((const char *)Singular) : ((const char *)Plural)) |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
52 | # define dngettext(Domain, Singular, Plural, Number) ((Number == 1) ? ((const char *)Singular) : ((const char *)Plural)) |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
53 | #endif |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
54 | |
|
25333
182125d7b7fc
Fix from the QuteCom folks to compile with Glib < 2.8.5 with MSVC. Fixes #7761. Also some minor cleanup from me.
Daniel Atallah <datallah@pidgin.im>
parents:
24843
diff
changeset
|
55 | #ifndef S_ISDIR |
|
182125d7b7fc
Fix from the QuteCom folks to compile with Glib < 2.8.5 with MSVC. Fixes #7761. Also some minor cleanup from me.
Daniel Atallah <datallah@pidgin.im>
parents:
24843
diff
changeset
|
56 | # define S_ISDIR(m) (((m)&S_IFDIR)==S_IFDIR) |
|
182125d7b7fc
Fix from the QuteCom folks to compile with Glib < 2.8.5 with MSVC. Fixes #7761. Also some minor cleanup from me.
Daniel Atallah <datallah@pidgin.im>
parents:
24843
diff
changeset
|
57 | #endif |
|
21771
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
58 | |
| 3712 | 59 | static char errbuf[1024]; |
| 60 | ||
| 61 | /* helpers */ | |
| 15884 | 62 | static int wpurple_is_socket( int fd ) { |
| 3712 | 63 | int optval; |
| 64 | unsigned int optlen = sizeof(int); | |
| 65 | ||
| 66 | if( (getsockopt(fd, SOL_SOCKET, SO_TYPE, (void*)&optval, &optlen)) == SOCKET_ERROR ) { | |
| 67 | int error = WSAGetLastError(); | |
| 68 | if( error == WSAENOTSOCK ) | |
| 69 | return FALSE; | |
| 70 | else { | |
| 15884 | 71 | purple_debug(PURPLE_DEBUG_WARNING, "wpurple", "wpurple_is_socket: getsockopt returned error: %d\n", error); |
| 3712 | 72 | return FALSE; |
| 73 | } | |
| 74 | } | |
| 75 | return TRUE; | |
| 76 | } | |
| 77 | ||
| 78 | /* socket.h */ | |
| 15884 | 79 | int wpurple_socket (int namespace, int style, int protocol) { |
| 3712 | 80 | int ret; |
| 81 | ||
| 82 | ret = socket( namespace, style, protocol ); | |
| 83 | ||
| 84 | if( ret == INVALID_SOCKET ) { | |
| 85 | errno = WSAGetLastError(); | |
| 86 | return -1; | |
| 87 | } | |
| 88 | return ret; | |
| 89 | } | |
| 90 | ||
| 15884 | 91 | int wpurple_connect(int socket, struct sockaddr *addr, u_long length) { |
| 3712 | 92 | int ret; |
| 93 | ||
| 94 | ret = connect( socket, addr, length ); | |
|
17666
9c32c365b852
Pretend that WSAEINPROGRESS is EAGAIN (for our purposes, I think they are equivalent). I think this might help #485. References #485.
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
95 | |
| 3712 | 96 | if( ret == SOCKET_ERROR ) { |
| 97 | errno = WSAGetLastError(); | |
| 98 | if( errno == WSAEWOULDBLOCK ) | |
| 99 | errno = WSAEINPROGRESS; | |
| 100 | return -1; | |
| 101 | } | |
| 102 | return 0; | |
| 103 | } | |
| 104 | ||
| 15884 | 105 | int wpurple_getsockopt(int socket, int level, int optname, void *optval, socklen_t *optlenptr) { |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
106 | if(getsockopt(socket, level, optname, optval, optlenptr) == SOCKET_ERROR ) { |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
107 | errno = WSAGetLastError(); |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
108 | return -1; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
109 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
110 | return 0; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
111 | } |
| 3712 | 112 | |
| 15884 | 113 | int wpurple_setsockopt(int socket, int level, int optname, const void *optval, socklen_t optlen) { |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
114 | if(setsockopt(socket, level, optname, optval, optlen) == SOCKET_ERROR ) { |
| 3712 | 115 | errno = WSAGetLastError(); |
| 116 | return -1; | |
| 117 | } | |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
118 | return 0; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
119 | } |
| 3712 | 120 | |
| 15884 | 121 | int wpurple_getsockname(int socket, struct sockaddr *addr, socklen_t *lenptr) { |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
122 | if(getsockname(socket, addr, lenptr) == SOCKET_ERROR) { |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
123 | errno = WSAGetLastError(); |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
124 | return -1; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
125 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
126 | return 0; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
127 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
128 | |
| 15884 | 129 | int wpurple_bind(int socket, struct sockaddr *addr, socklen_t length) { |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
130 | if(bind(socket, addr, length) == SOCKET_ERROR) { |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
131 | errno = WSAGetLastError(); |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
132 | return -1; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
133 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
134 | return 0; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
135 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
136 | |
| 15884 | 137 | int wpurple_listen(int socket, unsigned int n) { |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
138 | if(listen(socket, n) == SOCKET_ERROR) { |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
139 | errno = WSAGetLastError(); |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
140 | return -1; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
141 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
142 | return 0; |
| 3712 | 143 | } |
| 144 | ||
| 15884 | 145 | int wpurple_sendto(int socket, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen) { |
|
11431
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
146 | int ret; |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
147 | if ((ret = sendto(socket, buf, len, flags, to, tolen) |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
148 | ) == SOCKET_ERROR) { |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
149 | errno = WSAGetLastError(); |
|
17666
9c32c365b852
Pretend that WSAEINPROGRESS is EAGAIN (for our purposes, I think they are equivalent). I think this might help #485. References #485.
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
150 | if(errno == WSAEWOULDBLOCK || errno == WSAEINPROGRESS) |
|
9c32c365b852
Pretend that WSAEINPROGRESS is EAGAIN (for our purposes, I think they are equivalent). I think this might help #485. References #485.
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
151 | errno = EAGAIN; |
|
11431
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
152 | return -1; |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
153 | } |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
154 | return ret; |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
155 | } |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
156 | |
| 3712 | 157 | /* fcntl.h */ |
| 158 | /* This is not a full implementation of fcntl. Update as needed.. */ | |
|
20239
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
159 | int wpurple_fcntl(int socket, int command, ...) { |
|
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
160 | |
| 3712 | 161 | switch( command ) { |
|
20239
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
162 | case F_GETFL: |
|
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
163 | return 0; |
|
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
164 | |
| 3712 | 165 | case F_SETFL: |
| 166 | { | |
|
20239
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
167 | va_list args; |
|
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
168 | int val; |
| 3712 | 169 | int ret=0; |
| 170 | ||
|
20239
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
171 | va_start(args, command); |
|
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
172 | val = va_arg(args, int); |
|
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
173 | va_end(args); |
|
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
174 | |
| 3712 | 175 | switch( val ) { |
| 176 | case O_NONBLOCK: | |
| 177 | { | |
| 178 | u_long imode=1; | |
| 179 | ret = ioctlsocket(socket, FIONBIO, &imode); | |
| 180 | break; | |
| 181 | } | |
| 182 | case 0: | |
|
20239
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
183 | { |
| 3712 | 184 | u_long imode=0; |
| 185 | ret = ioctlsocket(socket, FIONBIO, &imode); | |
| 186 | break; | |
| 187 | } | |
| 188 | default: | |
| 189 | errno = EINVAL; | |
| 190 | return -1; | |
| 191 | }/*end switch*/ | |
| 192 | if( ret == SOCKET_ERROR ) { | |
| 193 | errno = WSAGetLastError(); | |
| 194 | return -1; | |
| 195 | } | |
| 196 | return 0; | |
| 197 | } | |
| 198 | default: | |
| 15884 | 199 | purple_debug(PURPLE_DEBUG_WARNING, "wpurple", "wpurple_fcntl: Unsupported command\n"); |
| 3712 | 200 | return -1; |
| 201 | }/*end switch*/ | |
| 202 | } | |
| 203 | ||
| 204 | /* sys/ioctl.h */ | |
| 15884 | 205 | int wpurple_ioctl(int fd, int command, void* val) { |
| 3712 | 206 | switch( command ) { |
| 207 | case FIONBIO: | |
| 208 | { | |
| 209 | if (ioctlsocket(fd, FIONBIO, (unsigned long *)val) == SOCKET_ERROR) { | |
| 210 | errno = WSAGetLastError(); | |
| 211 | return -1; | |
| 212 | } | |
| 213 | return 0; | |
| 214 | } | |
|
11364
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
215 | case SIOCGIFCONF: |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
216 | { |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
217 | INTERFACE_INFO InterfaceList[20]; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
218 | unsigned long nBytesReturned; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
219 | if (WSAIoctl(fd, SIO_GET_INTERFACE_LIST, |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
220 | 0, 0, &InterfaceList, |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
221 | sizeof(InterfaceList), &nBytesReturned, |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
222 | 0, 0) == SOCKET_ERROR) { |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
223 | errno = WSAGetLastError(); |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
224 | return -1; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
225 | } else { |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
226 | int i; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
227 | struct ifconf *ifc = val; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
228 | char *tmp = ifc->ifc_buf; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
229 | int nNumInterfaces = |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
230 | nBytesReturned / sizeof(INTERFACE_INFO); |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
231 | for (i = 0; i < nNumInterfaces; i++) { |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
232 | INTERFACE_INFO ii = InterfaceList[i]; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
233 | struct ifreq *ifr = (struct ifreq *) tmp; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
234 | struct sockaddr_in *sa = (struct sockaddr_in *) &ifr->ifr_addr; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
235 | |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
236 | sa->sin_family = ii.iiAddress.AddressIn.sin_family; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
237 | sa->sin_port = ii.iiAddress.AddressIn.sin_port; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
238 | sa->sin_addr.s_addr = ii.iiAddress.AddressIn.sin_addr.s_addr; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
239 | tmp += sizeof(struct ifreq); |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
240 | |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
241 | /* Make sure that we can fit in the original buffer */ |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
242 | if (tmp >= (ifc->ifc_buf + ifc->ifc_len + sizeof(struct ifreq))) { |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
243 | break; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
244 | } |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
245 | } |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
246 | /* Replace the length with the actually used length */ |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
247 | ifc->ifc_len = ifc->ifc_len - (ifc->ifc_buf - tmp); |
|
12488
72878a4bf35a
[gaim-migrate @ 14800]
Daniel Atallah <datallah@pidgin.im>
parents:
11543
diff
changeset
|
248 | return 0; |
|
11364
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
249 | } |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
250 | } |
| 3712 | 251 | default: |
| 252 | errno = EINVAL; | |
| 253 | return -1; | |
| 254 | }/*end switch*/ | |
| 255 | } | |
| 256 | ||
| 257 | /* arpa/inet.h */ | |
| 15884 | 258 | int wpurple_inet_aton(const char *name, struct in_addr *addr) { |
| 3712 | 259 | if((addr->s_addr = inet_addr(name)) == INADDR_NONE) |
| 260 | return 0; | |
| 261 | else | |
| 262 | return 1; | |
| 263 | } | |
| 264 | ||
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
265 | /* Thanks to GNU wget for this inet_ntop() implementation */ |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
266 | const char * |
| 15884 | 267 | wpurple_inet_ntop (int af, const void *src, char *dst, socklen_t cnt) |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
268 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
269 | /* struct sockaddr can't accomodate struct sockaddr_in6. */ |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
270 | union { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
271 | struct sockaddr_in6 sin6; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
272 | struct sockaddr_in sin; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
273 | } sa; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
274 | DWORD dstlen = cnt; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
275 | size_t srcsize; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
276 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
277 | ZeroMemory(&sa, sizeof(sa)); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
278 | switch (af) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
279 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
280 | case AF_INET: |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
281 | sa.sin.sin_family = AF_INET; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
282 | sa.sin.sin_addr = *(struct in_addr *) src; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
283 | srcsize = sizeof (sa.sin); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
284 | break; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
285 | case AF_INET6: |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
286 | sa.sin6.sin6_family = AF_INET6; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
287 | sa.sin6.sin6_addr = *(struct in6_addr *) src; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
288 | srcsize = sizeof (sa.sin6); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
289 | break; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
290 | default: |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
291 | abort (); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
292 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
293 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
294 | if (WSAAddressToString ((struct sockaddr *) &sa, srcsize, NULL, dst, &dstlen) != 0) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
295 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
296 | errno = WSAGetLastError(); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
297 | return NULL; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
298 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
299 | return (const char *) dst; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
300 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
301 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
302 | |
| 3712 | 303 | /* netdb.h */ |
| 15884 | 304 | struct hostent* wpurple_gethostbyname(const char *name) { |
| 3712 | 305 | struct hostent *hp; |
| 306 | ||
| 307 | if((hp = gethostbyname(name)) == NULL) { | |
| 308 | errno = WSAGetLastError(); | |
| 309 | return NULL; | |
| 310 | } | |
| 311 | return hp; | |
| 312 | } | |
| 313 | ||
| 314 | /* string.h */ | |
|
21771
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
315 | char* wpurple_strerror(int errornum) { |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
316 | if (errornum > WSABASEERR) { |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
317 | switch(errornum) { |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
318 | case WSAECONNABORTED: /* 10053 */ |
|
22871
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
319 | g_snprintf(errbuf, sizeof(errbuf), _("Connection interrupted by other software on your computer.")); |
|
22641
c5e5a10e4799
I was wondering why the more sane error messges were never appearing... now I know. There is also a fix here that uses glib's internal rename stuff on recent versions because it is more robust than our win32 version.
Daniel Atallah <datallah@pidgin.im>
parents:
21771
diff
changeset
|
320 | break; |
|
21771
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
321 | case WSAECONNRESET: /* 10054 */ |
|
22871
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
322 | g_snprintf(errbuf, sizeof(errbuf), _("Remote host closed connection.")); |
|
22641
c5e5a10e4799
I was wondering why the more sane error messges were never appearing... now I know. There is also a fix here that uses glib's internal rename stuff on recent versions because it is more robust than our win32 version.
Daniel Atallah <datallah@pidgin.im>
parents:
21771
diff
changeset
|
323 | break; |
|
21771
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
324 | case WSAETIMEDOUT: /* 10060 */ |
|
22871
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
325 | g_snprintf(errbuf, sizeof(errbuf), _("Connection timed out.")); |
|
22641
c5e5a10e4799
I was wondering why the more sane error messges were never appearing... now I know. There is also a fix here that uses glib's internal rename stuff on recent versions because it is more robust than our win32 version.
Daniel Atallah <datallah@pidgin.im>
parents:
21771
diff
changeset
|
326 | break; |
|
23883
222e2f637efd
Fix running several Bonjour instances on the same machine.
Daniel Atallah <datallah@pidgin.im>
parents:
22871
diff
changeset
|
327 | case WSAECONNREFUSED: /* 10061 */ |
|
22871
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
328 | g_snprintf(errbuf, sizeof(errbuf), _("Connection refused.")); |
|
22641
c5e5a10e4799
I was wondering why the more sane error messges were never appearing... now I know. There is also a fix here that uses glib's internal rename stuff on recent versions because it is more robust than our win32 version.
Daniel Atallah <datallah@pidgin.im>
parents:
21771
diff
changeset
|
329 | break; |
|
23883
222e2f637efd
Fix running several Bonjour instances on the same machine.
Daniel Atallah <datallah@pidgin.im>
parents:
22871
diff
changeset
|
330 | case WSAEADDRINUSE: /* 10048 */ |
|
222e2f637efd
Fix running several Bonjour instances on the same machine.
Daniel Atallah <datallah@pidgin.im>
parents:
22871
diff
changeset
|
331 | g_snprintf(errbuf, sizeof(errbuf), _("Address already in use.")); |
|
222e2f637efd
Fix running several Bonjour instances on the same machine.
Daniel Atallah <datallah@pidgin.im>
parents:
22871
diff
changeset
|
332 | break; |
|
21771
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
333 | default: |
|
22871
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
334 | g_snprintf(errbuf, sizeof(errbuf), "Windows socket error #%d", errornum); |
|
21771
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
335 | } |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
336 | } else { |
|
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
337 | const char *tmp = g_strerror(errornum); |
|
22871
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
338 | g_snprintf(errbuf, sizeof(errbuf), tmp); |
| 3712 | 339 | } |
|
21771
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
340 | return errbuf; |
| 3712 | 341 | } |
| 342 | ||
| 343 | /* unistd.h */ | |
| 344 | ||
| 345 | /* | |
| 346 | * We need to figure out whether fd is a file or socket handle. | |
| 347 | */ | |
| 15884 | 348 | int wpurple_read(int fd, void *buf, unsigned int size) { |
| 3712 | 349 | int ret; |
| 350 | ||
|
24843
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
351 | if (fd < 0) { |
|
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
352 | errno = EBADF; |
|
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
353 | g_return_val_if_reached(-1); |
|
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
354 | } |
|
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
355 | |
| 15884 | 356 | if(wpurple_is_socket(fd)) { |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12749
diff
changeset
|
357 | if((ret = recv(fd, buf, size, 0)) == SOCKET_ERROR) { |
| 3712 | 358 | errno = WSAGetLastError(); |
|
17666
9c32c365b852
Pretend that WSAEINPROGRESS is EAGAIN (for our purposes, I think they are equivalent). I think this might help #485. References #485.
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
359 | if(errno == WSAEWOULDBLOCK || errno == WSAEINPROGRESS) |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12749
diff
changeset
|
360 | errno = EAGAIN; |
| 3712 | 361 | return -1; |
| 362 | } | |
|
11543
e7218de0b500
[gaim-migrate @ 13798]
Daniel Atallah <datallah@pidgin.im>
parents:
11431
diff
changeset
|
363 | #if 0 |
| 3712 | 364 | else if( ret == 0 ) { |
| 365 | /* connection has been gracefully closed */ | |
| 366 | errno = WSAENOTCONN; | |
| 367 | return -1; | |
| 368 | } | |
|
11543
e7218de0b500
[gaim-migrate @ 13798]
Daniel Atallah <datallah@pidgin.im>
parents:
11431
diff
changeset
|
369 | #endif |
| 3712 | 370 | else { |
| 371 | /* success reading socket */ | |
| 372 | return ret; | |
| 373 | } | |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12749
diff
changeset
|
374 | } else { |
| 3712 | 375 | /* fd is not a socket handle.. pass it off to read */ |
|
22871
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
376 | return _read(fd, buf, size); |
| 3712 | 377 | } |
| 378 | } | |
| 379 | ||
| 15884 | 380 | int wpurple_send(int fd, const void *buf, unsigned int size, int flags) { |
| 3712 | 381 | int ret; |
| 382 | ||
|
13780
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
383 | ret = send(fd, buf, size, flags); |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
384 | |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
385 | if (ret == SOCKET_ERROR) { |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
386 | errno = WSAGetLastError(); |
|
17666
9c32c365b852
Pretend that WSAEINPROGRESS is EAGAIN (for our purposes, I think they are equivalent). I think this might help #485. References #485.
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
387 | if(errno == WSAEWOULDBLOCK || errno == WSAEINPROGRESS) |
|
13780
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
388 | errno = EAGAIN; |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
389 | return -1; |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
390 | } |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
391 | return ret; |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
392 | } |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
393 | |
| 15884 | 394 | int wpurple_write(int fd, const void *buf, unsigned int size) { |
|
13780
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
395 | |
|
24843
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
396 | if (fd < 0) { |
|
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
397 | errno = EBADF; |
|
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
398 | g_return_val_if_reached(-1); |
|
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
399 | } |
|
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
400 | |
| 15884 | 401 | if(wpurple_is_socket(fd)) |
| 402 | return wpurple_send(fd, buf, size, 0); | |
|
13780
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
403 | else |
|
22871
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
404 | return _write(fd, buf, size); |
| 3712 | 405 | } |
| 406 | ||
| 15884 | 407 | int wpurple_recv(int fd, void *buf, size_t len, int flags) { |
|
12749
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
408 | int ret; |
|
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
409 | |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12749
diff
changeset
|
410 | if((ret = recv(fd, buf, len, flags)) == SOCKET_ERROR) { |
|
12749
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
411 | errno = WSAGetLastError(); |
|
17666
9c32c365b852
Pretend that WSAEINPROGRESS is EAGAIN (for our purposes, I think they are equivalent). I think this might help #485. References #485.
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
412 | if(errno == WSAEWOULDBLOCK || errno == WSAEINPROGRESS) |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12749
diff
changeset
|
413 | errno = EAGAIN; |
|
12749
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
414 | return -1; |
|
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
415 | } else { |
|
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
416 | return ret; |
|
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
417 | } |
|
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
418 | } |
|
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
419 | |
| 15884 | 420 | int wpurple_close(int fd) { |
| 3712 | 421 | int ret; |
| 422 | ||
|
24843
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
423 | if (fd < 0) { |
|
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
424 | errno = EBADF; |
|
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
425 | g_return_val_if_reached(-1); |
|
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
426 | } |
|
ab68c6d3c247
(Slightly modified) patch from fqueze to avoid exceptions with newer win32 CRTs.
Daniel Atallah <datallah@pidgin.im>
parents:
23883
diff
changeset
|
427 | |
| 15884 | 428 | if( wpurple_is_socket(fd) ) { |
| 3712 | 429 | if( (ret = closesocket(fd)) == SOCKET_ERROR ) { |
| 430 | errno = WSAGetLastError(); | |
| 431 | return -1; | |
| 432 | } | |
| 433 | else | |
| 434 | return 0; | |
| 435 | } | |
| 436 | else | |
|
22871
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
437 | return _close(fd); |
| 3712 | 438 | } |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
439 | |
| 15884 | 440 | int wpurple_gethostname(char *name, size_t size) { |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
441 | if(gethostname(name, size) == SOCKET_ERROR) { |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
442 | errno = WSAGetLastError(); |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
443 | return -1; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
444 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
445 | return 0; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
446 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
447 | |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
448 | /* sys/time.h */ |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
449 | |
| 15884 | 450 | int wpurple_gettimeofday(struct timeval *p, struct timezone *z) { |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
451 | int res = 0; |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
452 | struct _timeb timebuffer; |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
453 | |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
454 | if (z != 0) { |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
455 | _tzset(); |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
456 | z->tz_minuteswest = _timezone/60; |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
457 | z->tz_dsttime = _daylight; |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
458 | } |
|
17666
9c32c365b852
Pretend that WSAEINPROGRESS is EAGAIN (for our purposes, I think they are equivalent). I think this might help #485. References #485.
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
459 | |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
460 | if (p != 0) { |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
461 | _ftime(&timebuffer); |
|
21771
0df7285a6164
Better error messages for common Winsock errors. This was Kevin's wonderful idea.
Daniel Atallah <datallah@pidgin.im>
parents:
21635
diff
changeset
|
462 | p->tv_sec = timebuffer.time; /* seconds since 1-1-1970 */ |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
463 | p->tv_usec = timebuffer.millitm*1000; /* microseconds */ |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
464 | } |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
465 | |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
466 | return res; |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
467 | } |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
468 | |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
469 | /* stdio.h */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
470 | |
| 15884 | 471 | int wpurple_rename (const char *oldname, const char *newname) { |
|
22871
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
472 | |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
473 | #if GLIB_CHECK_VERSION(2,8,5) |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
474 | |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
475 | return g_rename(oldname, newname); |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
476 | |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
477 | #else |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
478 | |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
479 | /* This is a ugly, but we still compile with 2.6.10 but use newer runtimes */ |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
480 | struct stat oldstat, newstat; |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
481 | |
|
22641
c5e5a10e4799
I was wondering why the more sane error messges were never appearing... now I know. There is also a fix here that uses glib's internal rename stuff on recent versions because it is more robust than our win32 version.
Daniel Atallah <datallah@pidgin.im>
parents:
21771
diff
changeset
|
482 | /* As of Glib 2.8.5, g_rename() uses MoveFileEx() with MOVEFILE_REPLACE_EXISTING to behave more sanely */ |
|
c5e5a10e4799
I was wondering why the more sane error messges were never appearing... now I know. There is also a fix here that uses glib's internal rename stuff on recent versions because it is more robust than our win32 version.
Daniel Atallah <datallah@pidgin.im>
parents:
21771
diff
changeset
|
483 | if (glib_check_version(2, 8, 5) == NULL) { |
|
c5e5a10e4799
I was wondering why the more sane error messges were never appearing... now I know. There is also a fix here that uses glib's internal rename stuff on recent versions because it is more robust than our win32 version.
Daniel Atallah <datallah@pidgin.im>
parents:
21771
diff
changeset
|
484 | return g_rename(oldname, newname); |
|
c5e5a10e4799
I was wondering why the more sane error messges were never appearing... now I know. There is also a fix here that uses glib's internal rename stuff on recent versions because it is more robust than our win32 version.
Daniel Atallah <datallah@pidgin.im>
parents:
21771
diff
changeset
|
485 | } |
|
c5e5a10e4799
I was wondering why the more sane error messges were never appearing... now I know. There is also a fix here that uses glib's internal rename stuff on recent versions because it is more robust than our win32 version.
Daniel Atallah <datallah@pidgin.im>
parents:
21771
diff
changeset
|
486 | |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
487 | if(g_stat(oldname, &oldstat) == 0) { |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
488 | /* newname exists */ |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
489 | if(g_stat(newname, &newstat) == 0) { |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
490 | /* oldname is a dir */ |
|
18553
a65fadc62b15
Fix some S_ISDIR calls to work with Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
17666
diff
changeset
|
491 | if(S_ISDIR(oldstat.st_mode)) { |
|
a65fadc62b15
Fix some S_ISDIR calls to work with Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
17666
diff
changeset
|
492 | if(!S_ISDIR(newstat.st_mode)) { |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
493 | return g_rename(oldname, newname); |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
494 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
495 | /* newname is a dir */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
496 | else { |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
497 | /* This is not quite right.. If newname is empty and |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
498 | is not a sub dir of oldname, newname should be |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
499 | deleted and oldname should be renamed. |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
500 | */ |
| 15884 | 501 | purple_debug(PURPLE_DEBUG_WARNING, "wpurple", "wpurple_rename does not behave here as it should\n"); |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
502 | return g_rename(oldname, newname); |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
503 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
504 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
505 | /* oldname is not a dir */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
506 | else { |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
507 | /* newname is a dir */ |
|
18553
a65fadc62b15
Fix some S_ISDIR calls to work with Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
17666
diff
changeset
|
508 | if(S_ISDIR(newstat.st_mode)) { |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
509 | errno = EISDIR; |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
510 | return -1; |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
511 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
512 | /* newname is not a dir */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
513 | else { |
|
10589
4e10236e06d4
[gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents:
9611
diff
changeset
|
514 | g_remove(newname); |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
515 | return g_rename(oldname, newname); |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
516 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
517 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
518 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
519 | /* newname doesn't exist */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
520 | else |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
521 | return g_rename(oldname, newname); |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
522 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
523 | else { |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
524 | /* oldname doesn't exist */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
525 | errno = ENOENT; |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
526 | return -1; |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
527 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
528 | |
|
22871
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
529 | #endif |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
530 | |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
531 | } |
|
5113
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
532 | |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
533 | /* time.h */ |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
534 | |
| 15884 | 535 | struct tm * wpurple_localtime_r (const time_t *time, struct tm *resultp) { |
|
5113
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
536 | struct tm* tmptm; |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
537 | |
|
5474
eec4dad3e035
[gaim-migrate @ 5868]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
538 | if(!time) |
|
5913
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
539 | return NULL; |
|
5113
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
540 | tmptm = localtime(time); |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
541 | if(resultp && tmptm) |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
542 | return memcpy(resultp, tmptm, sizeof(struct tm)); |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
543 | else |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
544 | return NULL; |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
545 | } |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
546 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
547 | /* |
| 15884 | 548 | * Used by purple_utf8_strftime() by way of purple_internal_strftime() |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
549 | * in src/util.c |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
550 | * |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
551 | * Code derived from PostgreSQL src/timezone/pgtz.c: |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
552 | * http://developer.postgresql.org/cvsweb.cgi/pgsql/src/timezone/pgtz.c |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
553 | */ |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
554 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
555 | /* |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
556 | PostgreSQL Database Management System |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
557 | (formerly known as Postgres, then as Postgres95) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
558 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
559 | Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
560 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
561 | Portions Copyright (c) 1994, The Regents of the University of California |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
562 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
563 | Permission to use, copy, modify, and distribute this software and its |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
564 | documentation for any purpose, without fee, and without a written agreement |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
565 | is hereby granted, provided that the above copyright notice and this |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
566 | paragraph and the following two paragraphs appear in all copies. |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
567 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
568 | IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
569 | DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
570 | LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
571 | DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
572 | POSSIBILITY OF SUCH DAMAGE. |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
573 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
574 | THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
575 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
576 | AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
577 | ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
578 | PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
579 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
580 | */ |
|
13341
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
581 | static struct |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
582 | { |
|
13341
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
583 | char *wstd; /* Windows name of standard timezone */ |
|
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
584 | char *wdst; /* Windows name of daylight timezone */ |
|
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
585 | char *ustd; /* Unix name of standard timezone */ |
|
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
586 | char *udst; /* Unix name of daylight timezone */ |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
587 | } win32_tzmap[] = |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
588 | { |
|
13339
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
589 | { |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
590 | "", "", |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
591 | "", "", |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
592 | }, |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
593 | /* |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
594 | * This list was built from the contents of the registry at |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
595 | * "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
596 | * on Windows XP Professional SP1 |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
597 | */ |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
598 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
599 | "Afghanistan Standard Time", "Afghanistan Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
600 | "AFT", "AFT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
601 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
602 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
603 | "Alaskan Standard Time", "Alaskan Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
604 | "AKST", "AKDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
605 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
606 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
607 | "Arab Standard Time", "Arab Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
608 | "AST", "AST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
609 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
610 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
611 | "Arabian Standard Time", "Arabian Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
612 | "GST", "GST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
613 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
614 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
615 | "Arabic Standard Time", "Arabic Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
616 | "AST", "ADT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
617 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
618 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
619 | "Atlantic Standard Time", "Atlantic Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
620 | "AST", "ADT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
621 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
622 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
623 | "AUS Central Standard Time", "AUS Central Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
624 | "CST", "CST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
625 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
626 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
627 | "AUS Eastern Standard Time", "AUS Eastern Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
628 | "EST", "EST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
629 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
630 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
631 | "Azores Standard Time", "Azores Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
632 | "AZOT", "AZOST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
633 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
634 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
635 | "Canada Central Standard Time", "Canada Central Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
636 | "CST", "MDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
637 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
638 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
639 | "Cape Verde Standard Time", "Cape Verde Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
640 | "CVT", "CVST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
641 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
642 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
643 | "Caucasus Standard Time", "Caucasus Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
644 | "AZT", "AZST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
645 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
646 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
647 | "Cen. Australia Standard Time", "Cen. Australia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
648 | "CST", "CST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
649 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
650 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
651 | "Central America Standard Time", "Central America Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
652 | "CST", "CDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
653 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
654 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
655 | "Central Asia Standard Time", "Central Asia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
656 | "BDT", "BDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
657 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
658 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
659 | "Central Europe Standard Time", "Central Europe Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
660 | "CET", "CEST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
661 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
662 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
663 | "Central European Standard Time", "Central European Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
664 | "CET", "CEST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
665 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
666 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
667 | "Central Pacific Standard Time", "Central Pacific Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
668 | "NCT", "NCST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
669 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
670 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
671 | "Central Standard Time", "Central Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
672 | "CST", "CDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
673 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
674 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
675 | "China Standard Time", "China Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
676 | "HKT", "HKST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
677 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
678 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
679 | "Dateline Standard Time", "Dateline Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
680 | "GMT+12", "GMT+12" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
681 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
682 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
683 | "E. Africa Standard Time", "E. Africa Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
684 | "EAT", "EAT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
685 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
686 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
687 | "E. Australia Standard Time", "E. Australia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
688 | "EST", "EST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
689 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
690 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
691 | "E. Europe Standard Time", "E. Europe Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
692 | "EET", "EEST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
693 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
694 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
695 | "E. South America Standard Time", "E. South America Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
696 | "BRT", "BRST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
697 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
698 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
699 | "Eastern Standard Time", "Eastern Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
700 | "EST", "EDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
701 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
702 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
703 | "Egypt Standard Time", "Egypt Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
704 | "EET", "EEST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
705 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
706 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
707 | "Ekaterinburg Standard Time", "Ekaterinburg Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
708 | "YEKT", "YEKST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
709 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
710 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
711 | "Fiji Standard Time", "Fiji Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
712 | "FJT", "FJST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
713 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
714 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
715 | "FLE Standard Time", "FLE Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
716 | "EET", "EEST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
717 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
718 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
719 | "GMT Standard Time", "GMT Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
720 | "GMT", "IST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
721 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
722 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
723 | "Greenland Standard Time", "Greenland Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
724 | "WGT", "WGST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
725 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
726 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
727 | "Greenwich Standard Time", "Greenwich Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
728 | "WET", "WEST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
729 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
730 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
731 | "GTB Standard Time", "GTB Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
732 | "EET", "EEST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
733 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
734 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
735 | "Hawaiian Standard Time", "Hawaiian Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
736 | "HST", "HPT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
737 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
738 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
739 | "India Standard Time", "India Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
740 | "IST", "IST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
741 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
742 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
743 | "Iran Standard Time", "Iran Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
744 | "IRST", "IRDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
745 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
746 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
747 | "Jerusalem Standard Time", "Jerusalem Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
748 | "IST", "IDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
749 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
750 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
751 | "Korea Standard Time", "Korea Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
752 | "KST", "KDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
753 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
754 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
755 | "Mexico Standard Time", "Mexico Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
756 | "CST", "CDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
757 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
758 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
759 | "Mexico Standard Time", "Mexico Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
760 | "BOT", "BOST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
761 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
762 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
763 | "Mid-Atlantic Standard Time", "Mid-Atlantic Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
764 | "GST", "GST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
765 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
766 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
767 | "Mountain Standard Time", "Mountain Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
768 | "MST", "MDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
769 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
770 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
771 | "Myanmar Standard Time", "Myanmar Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
772 | "MMT", "MMT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
773 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
774 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
775 | "N. Central Asia Standard Time", "N. Central Asia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
776 | "ALMT", "ALMST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
777 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
778 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
779 | "Nepal Standard Time", "Nepal Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
780 | "NPT", "NPT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
781 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
782 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
783 | "New Zealand Standard Time", "New Zealand Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
784 | "NZST", "NZDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
785 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
786 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
787 | "Newfoundland Standard Time", "Newfoundland Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
788 | "NST", "NDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
789 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
790 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
791 | "North Asia East Standard Time", "North Asia East Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
792 | "IRKT", "IRKST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
793 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
794 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
795 | "North Asia Standard Time", "North Asia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
796 | "KRAT", "KRAST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
797 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
798 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
799 | "Pacific SA Standard Time", "Pacific SA Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
800 | "CLT", "CLST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
801 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
802 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
803 | "Pacific Standard Time", "Pacific Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
804 | "PST", "PDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
805 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
806 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
807 | "Romance Standard Time", "Romance Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
808 | "CET", "CEST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
809 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
810 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
811 | "Russian Standard Time", "Russian Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
812 | "MSK", "MSD" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
813 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
814 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
815 | "SA Eastern Standard Time", "SA Eastern Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
816 | "ART", "ARST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
817 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
818 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
819 | "SA Pacific Standard Time", "SA Pacific Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
820 | "COT", "COST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
821 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
822 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
823 | "SA Western Standard Time", "SA Western Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
824 | "VET", "VET" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
825 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
826 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
827 | "Samoa Standard Time", "Samoa Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
828 | "SST", "NDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
829 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
830 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
831 | "SE Asia Standard Time", "SE Asia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
832 | "ICT", "ICT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
833 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
834 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
835 | "Malay Peninsula Standard Time", "Malay Peninsula Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
836 | "MYT", "MALST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
837 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
838 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
839 | "South Africa Standard Time", "South Africa Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
840 | "CAT", "CAT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
841 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
842 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
843 | "Sri Lanka Standard Time", "Sri Lanka Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
844 | "LKT", "IST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
845 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
846 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
847 | "Taipei Standard Time", "Taipei Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
848 | "CST", "CDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
849 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
850 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
851 | "Tasmania Standard Time", "Tasmania Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
852 | "EST", "EST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
853 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
854 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
855 | "Tokyo Standard Time", "Tokyo Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
856 | "JST", "JDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
857 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
858 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
859 | "Tonga Standard Time", "Tonga Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
860 | "TOT", "TOST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
861 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
862 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
863 | "US Eastern Standard Time", "US Eastern Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
864 | "EST", "EDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
865 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
866 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
867 | "US Mountain Standard Time", "US Mountain Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
868 | "MST", "MDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
869 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
870 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
871 | "Vladivostok Standard Time", "Vladivostok Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
872 | "VLAT", "VLAST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
873 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
874 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
875 | "W. Australia Standard Time", "W. Australia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
876 | "WST", "WST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
877 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
878 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
879 | /* Not mapped in PostgreSQL. |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
880 | * |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
881 | * I mapped this based on the following information... -- rlaager |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
882 | * $ cd /usr/share/zoneinfo/Africa |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
883 | * $ for i in * ; do echo `TZ=Africa/$i date +"%z %Z"` $i ; done | grep +0100 |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
884 | * +0100 CET Algiers |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
885 | * +0100 WAT Bangui |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
886 | * +0100 WAT Brazzaville |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
887 | * +0100 CET Ceuta |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
888 | * +0100 WAT Douala |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
889 | * +0100 WAT Kinshasa |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
890 | * +0100 WAT Lagos |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
891 | * +0100 WAT Libreville |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
892 | * +0100 WAT Luanda |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
893 | * +0100 WAT Malabo |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
894 | * +0100 WAT Ndjamena |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
895 | * +0100 WAT Niamey |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
896 | * +0100 WAT Porto-Novo |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
897 | * +0100 CET Tunis |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
898 | **/ |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
899 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
900 | "W. Central Africa Standard Time", "W. Central Africa Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
901 | "WAT", "WAT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
902 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
903 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
904 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
905 | "W. Europe Standard Time", "W. Europe Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
906 | "CET", "CEST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
907 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
908 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
909 | "West Asia Standard Time", "West Asia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
910 | "PKT", "PKST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
911 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
912 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
913 | "West Pacific Standard Time", "West Pacific Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
914 | "ChST", "ChST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
915 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
916 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
917 | "Yakutsk Standard Time", "Yakutsk Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
918 | "YAKT", "YAKST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
919 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
920 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
921 | NULL, NULL, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
922 | NULL, NULL |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
923 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
924 | }; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
925 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
926 | const char * |
| 15884 | 927 | wpurple_get_timezone_abbreviation(const struct tm *tm) |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
928 | { |
|
13371
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
929 | int i; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
930 | char tzname[128]; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
931 | char localtzname[256]; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
932 | HKEY rootKey; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
933 | int idx; |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
934 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
935 | if (!tm) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
936 | { |
| 15884 | 937 | purple_debug_warning("wpurple", "could not determine current date/time: localtime failed\n"); |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
938 | return ""; |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
939 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
940 | |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
941 | if (strftime(tzname, sizeof(tzname) - 1, "%Z", tm) == 0) |
|
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
942 | { |
| 15884 | 943 | purple_debug_error("wpurple", "timezone name is too long for the buffer\n"); |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
944 | return ""; |
|
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
945 | } |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
946 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
947 | for (i = 0; win32_tzmap[i].wstd != NULL; i++) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
948 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
949 | if (strcmp(tzname, win32_tzmap[i].wstd) == 0) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
950 | { |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
951 | #if 0 |
| 15884 | 952 | purple_debug_info("wpurple", "TZ \"%s\" matches Windows timezone \"%s\"\n", |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
953 | win32_tzmap[i].ustd, tzname); |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
954 | #endif |
|
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
955 | /* Cache the Result */ |
|
13371
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
956 | if (i > 0) { |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
957 | if (win32_tzmap[0].wstd[0] != '\0') |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
958 | g_free(win32_tzmap[0].wstd); |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
959 | win32_tzmap[0].wstd = g_strdup(tzname); |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
960 | win32_tzmap[0].ustd = win32_tzmap[i].ustd; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
961 | } |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
962 | |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
963 | return win32_tzmap[i].ustd; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
964 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
965 | if (strcmp(tzname, win32_tzmap[i].wdst) == 0) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
966 | { |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
967 | #if 0 |
| 15884 | 968 | purple_debug_info("wpurple", "TZ \"%s\" matches Windows timezone \"%s\"\n", |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
969 | win32_tzmap[i].udst, tzname); |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
970 | #endif |
|
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
971 | /* Cache the Result */ |
|
13371
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
972 | if (i > 0) { |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
973 | if (win32_tzmap[0].wdst[0] != '\0') |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
974 | g_free(win32_tzmap[0].wdst); |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
975 | win32_tzmap[0].wdst = g_strdup(tzname); |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
976 | win32_tzmap[0].udst = win32_tzmap[i].udst; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
977 | } |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
978 | |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
979 | return win32_tzmap[i].udst; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
980 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
981 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
982 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
983 | /* |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
984 | * Localized Windows versions return localized names for the timezone. |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
985 | * Scan the registry to find the English name, and then try matching |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
986 | * against our table again. |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
987 | */ |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
988 | memset(localtzname, 0, sizeof(localtzname)); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
989 | if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
990 | "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
991 | 0, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
992 | KEY_READ, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
993 | &rootKey) != ERROR_SUCCESS) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
994 | { |
| 15884 | 995 | purple_debug_warning("wpurple", "could not open registry key to identify Windows timezone: %i\n", (int) GetLastError()); |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
996 | return ""; |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
997 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
998 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
999 | for (idx = 0;; idx++) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1000 | { |
|
13371
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
1001 | char keyname[256]; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
1002 | char zonename[256]; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
1003 | DWORD namesize; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
1004 | FILETIME lastwrite; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
1005 | HKEY key; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
1006 | LONG r; |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1007 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1008 | memset(keyname, 0, sizeof(keyname)); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1009 | namesize = sizeof(keyname); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1010 | if ((r = RegEnumKeyEx(rootKey, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1011 | idx, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1012 | keyname, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1013 | &namesize, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1014 | NULL, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1015 | NULL, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1016 | NULL, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1017 | &lastwrite)) != ERROR_SUCCESS) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1018 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1019 | if (r == ERROR_NO_MORE_ITEMS) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1020 | break; |
| 15884 | 1021 | purple_debug_warning("wpurple", "could not enumerate registry subkeys to identify Windows timezone: %i\n", (int) r); |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1022 | break; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1023 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1024 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1025 | if ((r = RegOpenKeyEx(rootKey, keyname, 0, KEY_READ, &key)) != ERROR_SUCCESS) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1026 | { |
| 15884 | 1027 | purple_debug_warning("wpurple", "could not open registry subkey to identify Windows timezone: %i\n", (int) r); |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1028 | break; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1029 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1030 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1031 | memset(zonename, 0, sizeof(zonename)); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1032 | namesize = sizeof(zonename); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1033 | if ((r = RegQueryValueEx(key, "Std", NULL, NULL, zonename, &namesize)) != ERROR_SUCCESS) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1034 | { |
| 15884 | 1035 | purple_debug_warning("wpurple", "could not query value for 'std' to identify Windows timezone: %i\n", (int) r); |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1036 | RegCloseKey(key); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1037 | break; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1038 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1039 | if (strcmp(tzname, zonename) == 0) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1040 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1041 | /* Matched zone */ |
|
13371
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
1042 | strcpy(localtzname, keyname); |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1043 | RegCloseKey(key); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1044 | break; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1045 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1046 | memset(zonename, 0, sizeof(zonename)); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1047 | namesize = sizeof(zonename); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1048 | if ((r = RegQueryValueEx(key, "Dlt", NULL, NULL, zonename, &namesize)) != ERROR_SUCCESS) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1049 | { |
| 15884 | 1050 | purple_debug_warning("wpurple", "could not query value for 'dlt' to identify Windows timezone: %i\n", (int) r); |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1051 | RegCloseKey(key); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1052 | break; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1053 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1054 | if (strcmp(tzname, zonename) == 0) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1055 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1056 | /* Matched DST zone */ |
|
13371
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
1057 | strcpy(localtzname, keyname); |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1058 | RegCloseKey(key); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1059 | break; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1060 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1061 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1062 | RegCloseKey(key); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1063 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1064 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1065 | RegCloseKey(rootKey); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1066 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1067 | if (localtzname[0]) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1068 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1069 | /* Found a localized name, so scan for that one too */ |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1070 | for (i = 0; win32_tzmap[i].wstd != NULL; i++) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1071 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1072 | if (strcmp(localtzname, win32_tzmap[i].wstd) == 0) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1073 | { |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
1074 | #if 0 |
| 15884 | 1075 | purple_debug_info("wpurple", "TZ \"%s\" matches localized Windows timezone \"%s\" (\"%s\")\n", |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1076 | win32_tzmap[i].ustd, tzname, localtzname); |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
1077 | #endif |
|
13339
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1078 | /* Cache the Result */ |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1079 | if (win32_tzmap[0].wstd[0] != '\0') |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1080 | g_free(win32_tzmap[0].wstd); |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1081 | win32_tzmap[0].wstd = g_strdup(tzname); |
|
13341
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
1082 | win32_tzmap[0].ustd = win32_tzmap[i].ustd; |
|
13339
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1083 | |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1084 | return win32_tzmap[i].ustd; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1085 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1086 | if (strcmp(localtzname, win32_tzmap[i].wdst) == 0) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1087 | { |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
1088 | #if 0 |
| 15884 | 1089 | purple_debug_info("wpurple", "TZ \"%s\" matches localized Windows timezone \"%s\" (\"%s\")\n", |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1090 | win32_tzmap[i].udst, tzname, localtzname); |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
1091 | #endif |
|
13339
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1092 | /* Cache the Result */ |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1093 | if (win32_tzmap[0].wdst[0] != '\0') |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1094 | g_free(win32_tzmap[0].wdst); |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1095 | |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1096 | win32_tzmap[0].wdst = g_strdup(tzname); |
|
13341
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
1097 | win32_tzmap[0].udst = win32_tzmap[i].udst; |
|
13339
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1098 | |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1099 | return win32_tzmap[i].udst; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1100 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1101 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1102 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1103 | |
| 15884 | 1104 | purple_debug_warning("wpurple", "could not find a match for Windows timezone \"%s\"\n", tzname); |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1105 | return ""; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1106 | } |
|
13339
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1107 | |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1108 | /** |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1109 | * g_access: |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1110 | * @filename: a pathname in the GLib file name encoding (UTF-8 on Windows) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1111 | * @mode: as in access() |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1112 | * |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1113 | * A wrapper for the POSIX access() function. This function is used to |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1114 | * test a pathname for one or several of read, write or execute |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1115 | * permissions, or just existence. On Windows, the underlying access() |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1116 | * function in the C library only checks the READONLY attribute, and |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1117 | * does not look at the ACL at all. Software that needs to handle file |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1118 | * permissions on Windows more exactly should use the Win32 API. |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1119 | * |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1120 | * See the C library manual for more details about access(). |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1121 | * |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1122 | * Returns: zero if the pathname refers to an existing file system |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1123 | * object that has all the tested permissions, or -1 otherwise or on |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1124 | * error. |
|
17666
9c32c365b852
Pretend that WSAEINPROGRESS is EAGAIN (for our purposes, I think they are equivalent). I think this might help #485. References #485.
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
1125 | * |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1126 | * Since: 2.8 |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1127 | */ |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1128 | int |
| 15884 | 1129 | wpurple_g_access (const gchar *filename, |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1130 | int mode) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1131 | { |
|
22871
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
1132 | #if GLIB_CHECK_VERSION(2,8,0) |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
1133 | |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
1134 | return g_access(filename, mode); |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
1135 | |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
1136 | #else |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
1137 | |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1138 | if (G_WIN32_HAVE_WIDECHAR_API ()) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1139 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1140 | wchar_t *wfilename = g_utf8_to_utf16 (filename, -1, NULL, NULL, NULL); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1141 | int retval; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1142 | int save_errno; |
|
17666
9c32c365b852
Pretend that WSAEINPROGRESS is EAGAIN (for our purposes, I think they are equivalent). I think this might help #485. References #485.
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
1143 | |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1144 | if (wfilename == NULL) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1145 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1146 | errno = EINVAL; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1147 | return -1; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1148 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1149 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1150 | retval = _waccess (wfilename, mode); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1151 | save_errno = errno; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1152 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1153 | g_free (wfilename); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1154 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1155 | errno = save_errno; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1156 | return retval; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1157 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1158 | else |
|
17666
9c32c365b852
Pretend that WSAEINPROGRESS is EAGAIN (for our purposes, I think they are equivalent). I think this might help #485. References #485.
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
1159 | { |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1160 | gchar *cp_filename = g_locale_from_utf8 (filename, -1, NULL, NULL, NULL); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1161 | int retval; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1162 | int save_errno; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1163 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1164 | if (cp_filename == NULL) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1165 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1166 | errno = EINVAL; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1167 | return -1; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1168 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1169 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1170 | retval = access (cp_filename, mode); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1171 | save_errno = errno; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1172 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1173 | g_free (cp_filename); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1174 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1175 | errno = save_errno; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1176 | return retval; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1177 | } |
|
22871
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
1178 | |
|
a5ba9f9d340a
Use g_snprintf() instead of snprintf(), which isn't really available on
Daniel Atallah <datallah@pidgin.im>
parents:
22641
diff
changeset
|
1179 | #endif |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1180 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1181 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1182 |