Sat, 13 Feb 2010 18:51:00 +0000
Fix cross-compile on OSX, working around an apparently crippled sed.
I used the MinGW binaries from http://crossgcc.rts-software.org/doku.php
| 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 |