Mon, 16 Apr 2007 00:44:33 +0000
merge of 'b98e72d4089afb8a1879e5fe9627cfb132ee88de'
and '606a402fea87c797c4b751475228a6f6a5385122'
| 3712 | 1 | /* |
| 15884 | 2 | * purple |
|
5913
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
3 | * |
|
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 |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
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> |
|
6425
3e86c949c98a
[gaim-migrate @ 6933]
Herman Bloggs <herman@bluedigits.com>
parents:
5913
diff
changeset
|
31 | #include "debug.h" |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
32 | #include "libc_internal.h" |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
33 | #if GLIB_CHECK_VERSION(2,6,0) |
|
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
34 | # include <glib/gstdio.h> |
|
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
35 | #else |
|
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
36 | #define g_remove remove |
|
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
37 | #define g_rename rename |
|
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
38 | #define g_stat stat |
|
10589
4e10236e06d4
[gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents:
9611
diff
changeset
|
39 | #endif |
| 3712 | 40 | |
| 41 | static char errbuf[1024]; | |
| 42 | ||
| 43 | /* helpers */ | |
| 15884 | 44 | static int wpurple_is_socket( int fd ) { |
| 3712 | 45 | int optval; |
| 46 | unsigned int optlen = sizeof(int); | |
| 47 | ||
| 48 | if( (getsockopt(fd, SOL_SOCKET, SO_TYPE, (void*)&optval, &optlen)) == SOCKET_ERROR ) { | |
| 49 | int error = WSAGetLastError(); | |
| 50 | if( error == WSAENOTSOCK ) | |
| 51 | return FALSE; | |
| 52 | else { | |
| 15884 | 53 | purple_debug(PURPLE_DEBUG_WARNING, "wpurple", "wpurple_is_socket: getsockopt returned error: %d\n", error); |
| 3712 | 54 | return FALSE; |
| 55 | } | |
| 56 | } | |
| 57 | return TRUE; | |
| 58 | } | |
| 59 | ||
| 60 | /* socket.h */ | |
| 15884 | 61 | int wpurple_socket (int namespace, int style, int protocol) { |
| 3712 | 62 | int ret; |
| 63 | ||
| 64 | ret = socket( namespace, style, protocol ); | |
| 65 | ||
| 66 | if( ret == INVALID_SOCKET ) { | |
| 67 | errno = WSAGetLastError(); | |
| 68 | return -1; | |
| 69 | } | |
| 70 | return ret; | |
| 71 | } | |
| 72 | ||
| 15884 | 73 | int wpurple_connect(int socket, struct sockaddr *addr, u_long length) { |
| 3712 | 74 | int ret; |
| 75 | ||
| 76 | ret = connect( socket, addr, length ); | |
| 77 | ||
| 78 | if( ret == SOCKET_ERROR ) { | |
| 79 | errno = WSAGetLastError(); | |
| 80 | if( errno == WSAEWOULDBLOCK ) | |
| 81 | errno = WSAEINPROGRESS; | |
| 82 | return -1; | |
| 83 | } | |
| 84 | return 0; | |
| 85 | } | |
| 86 | ||
| 15884 | 87 | 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
|
88 | if(getsockopt(socket, level, optname, optval, optlenptr) == SOCKET_ERROR ) { |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
89 | errno = WSAGetLastError(); |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
90 | return -1; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
91 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
92 | return 0; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
93 | } |
| 3712 | 94 | |
| 15884 | 95 | 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
|
96 | if(setsockopt(socket, level, optname, optval, optlen) == SOCKET_ERROR ) { |
| 3712 | 97 | errno = WSAGetLastError(); |
| 98 | return -1; | |
| 99 | } | |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
100 | return 0; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
101 | } |
| 3712 | 102 | |
| 15884 | 103 | 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
|
104 | if(getsockname(socket, addr, lenptr) == SOCKET_ERROR) { |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
105 | errno = WSAGetLastError(); |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
106 | return -1; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
107 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
108 | return 0; |
|
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 | |
| 15884 | 111 | 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
|
112 | if(bind(socket, addr, length) == SOCKET_ERROR) { |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
113 | errno = WSAGetLastError(); |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
114 | return -1; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
115 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
116 | return 0; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
117 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
118 | |
| 15884 | 119 | int wpurple_listen(int socket, unsigned int n) { |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
120 | if(listen(socket, n) == SOCKET_ERROR) { |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
121 | errno = WSAGetLastError(); |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
122 | return -1; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
123 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
124 | return 0; |
| 3712 | 125 | } |
| 126 | ||
| 15884 | 127 | 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
|
128 | int ret; |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
129 | if ((ret = sendto(socket, buf, len, flags, to, tolen) |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
130 | ) == SOCKET_ERROR) { |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
131 | errno = WSAGetLastError(); |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
132 | return -1; |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
133 | } |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
134 | return ret; |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
135 | } |
|
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
11364
diff
changeset
|
136 | |
| 3712 | 137 | /* fcntl.h */ |
| 138 | /* This is not a full implementation of fcntl. Update as needed.. */ | |
| 15884 | 139 | int wpurple_fcntl(int socket, int command, int val) { |
| 3712 | 140 | switch( command ) { |
| 141 | case F_SETFL: | |
| 142 | { | |
| 143 | int ret=0; | |
| 144 | ||
| 145 | switch( val ) { | |
| 146 | case O_NONBLOCK: | |
| 147 | { | |
| 148 | u_long imode=1; | |
| 149 | ret = ioctlsocket(socket, FIONBIO, &imode); | |
| 150 | break; | |
| 151 | } | |
| 152 | case 0: | |
| 153 | { | |
| 154 | u_long imode=0; | |
| 155 | ret = ioctlsocket(socket, FIONBIO, &imode); | |
| 156 | break; | |
| 157 | } | |
| 158 | default: | |
| 159 | errno = EINVAL; | |
| 160 | return -1; | |
| 161 | }/*end switch*/ | |
| 162 | if( ret == SOCKET_ERROR ) { | |
| 163 | errno = WSAGetLastError(); | |
| 164 | return -1; | |
| 165 | } | |
| 166 | return 0; | |
| 167 | } | |
| 168 | default: | |
| 15884 | 169 | purple_debug(PURPLE_DEBUG_WARNING, "wpurple", "wpurple_fcntl: Unsupported command\n"); |
| 3712 | 170 | return -1; |
| 171 | }/*end switch*/ | |
| 172 | } | |
| 173 | ||
| 174 | /* sys/ioctl.h */ | |
| 15884 | 175 | int wpurple_ioctl(int fd, int command, void* val) { |
| 3712 | 176 | switch( command ) { |
| 177 | case FIONBIO: | |
| 178 | { | |
| 179 | if (ioctlsocket(fd, FIONBIO, (unsigned long *)val) == SOCKET_ERROR) { | |
| 180 | errno = WSAGetLastError(); | |
| 181 | return -1; | |
| 182 | } | |
| 183 | return 0; | |
| 184 | } | |
|
11364
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
185 | case SIOCGIFCONF: |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
186 | { |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
187 | INTERFACE_INFO InterfaceList[20]; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
188 | unsigned long nBytesReturned; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
189 | if (WSAIoctl(fd, SIO_GET_INTERFACE_LIST, |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
190 | 0, 0, &InterfaceList, |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
191 | sizeof(InterfaceList), &nBytesReturned, |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
192 | 0, 0) == SOCKET_ERROR) { |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
193 | errno = WSAGetLastError(); |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
194 | return -1; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
195 | } else { |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
196 | int i; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
197 | struct ifconf *ifc = val; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
198 | char *tmp = ifc->ifc_buf; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
199 | int nNumInterfaces = |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
200 | nBytesReturned / sizeof(INTERFACE_INFO); |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
201 | for (i = 0; i < nNumInterfaces; i++) { |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
202 | INTERFACE_INFO ii = InterfaceList[i]; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
203 | struct ifreq *ifr = (struct ifreq *) tmp; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
204 | struct sockaddr_in *sa = (struct sockaddr_in *) &ifr->ifr_addr; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
205 | |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
206 | sa->sin_family = ii.iiAddress.AddressIn.sin_family; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
207 | sa->sin_port = ii.iiAddress.AddressIn.sin_port; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
208 | 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
|
209 | tmp += sizeof(struct ifreq); |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
210 | |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
211 | /* Make sure that we can fit in the original buffer */ |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
212 | if (tmp >= (ifc->ifc_buf + ifc->ifc_len + sizeof(struct ifreq))) { |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
213 | break; |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
214 | } |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
215 | } |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
216 | /* Replace the length with the actually used length */ |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
217 | ifc->ifc_len = ifc->ifc_len - (ifc->ifc_buf - tmp); |
|
12488
72878a4bf35a
[gaim-migrate @ 14800]
Daniel Atallah <datallah@pidgin.im>
parents:
11543
diff
changeset
|
218 | return 0; |
|
11364
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
219 | } |
|
d754cf40ec4b
[gaim-migrate @ 13588]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
220 | } |
| 3712 | 221 | default: |
| 222 | errno = EINVAL; | |
| 223 | return -1; | |
| 224 | }/*end switch*/ | |
| 225 | } | |
| 226 | ||
| 227 | /* arpa/inet.h */ | |
| 15884 | 228 | int wpurple_inet_aton(const char *name, struct in_addr *addr) { |
| 3712 | 229 | if((addr->s_addr = inet_addr(name)) == INADDR_NONE) |
| 230 | return 0; | |
| 231 | else | |
| 232 | return 1; | |
| 233 | } | |
| 234 | ||
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
235 | /* Thanks to GNU wget for this inet_ntop() implementation */ |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
236 | const char * |
| 15884 | 237 | 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
|
238 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
239 | /* struct sockaddr can't accomodate struct sockaddr_in6. */ |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
240 | union { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
241 | struct sockaddr_in6 sin6; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
242 | struct sockaddr_in sin; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
243 | } sa; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
244 | DWORD dstlen = cnt; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
245 | size_t srcsize; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
246 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
247 | ZeroMemory(&sa, sizeof(sa)); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
248 | switch (af) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
249 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
250 | case AF_INET: |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
251 | sa.sin.sin_family = AF_INET; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
252 | sa.sin.sin_addr = *(struct in_addr *) src; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
253 | srcsize = sizeof (sa.sin); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
254 | break; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
255 | case AF_INET6: |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
256 | sa.sin6.sin6_family = AF_INET6; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
257 | sa.sin6.sin6_addr = *(struct in6_addr *) src; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
258 | srcsize = sizeof (sa.sin6); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
259 | break; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
260 | default: |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
261 | abort (); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
262 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
263 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
264 | if (WSAAddressToString ((struct sockaddr *) &sa, srcsize, NULL, dst, &dstlen) != 0) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
265 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
266 | errno = WSAGetLastError(); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
267 | return NULL; |
|
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 | return (const char *) dst; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
270 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
271 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
272 | |
| 3712 | 273 | /* netdb.h */ |
| 15884 | 274 | struct hostent* wpurple_gethostbyname(const char *name) { |
| 3712 | 275 | struct hostent *hp; |
| 276 | ||
| 277 | if((hp = gethostbyname(name)) == NULL) { | |
| 278 | errno = WSAGetLastError(); | |
| 279 | return NULL; | |
| 280 | } | |
| 281 | return hp; | |
| 282 | } | |
| 283 | ||
| 284 | /* string.h */ | |
| 15884 | 285 | char* wpurple_strerror( int errornum ) { |
| 3712 | 286 | if( errornum > WSABASEERR ) { |
| 287 | sprintf( errbuf, "Windows socket error #%d", errornum ); | |
| 288 | return errbuf; | |
| 289 | } | |
| 290 | else | |
| 291 | return strerror( errornum ); | |
| 292 | } | |
| 293 | ||
| 294 | /* unistd.h */ | |
| 295 | ||
| 296 | /* | |
| 297 | * We need to figure out whether fd is a file or socket handle. | |
| 298 | */ | |
| 15884 | 299 | int wpurple_read(int fd, void *buf, unsigned int size) { |
| 3712 | 300 | int ret; |
| 301 | ||
| 15884 | 302 | if(wpurple_is_socket(fd)) { |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12749
diff
changeset
|
303 | if((ret = recv(fd, buf, size, 0)) == SOCKET_ERROR) { |
| 3712 | 304 | errno = WSAGetLastError(); |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12749
diff
changeset
|
305 | if(errno == WSAEWOULDBLOCK) |
|
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12749
diff
changeset
|
306 | errno = EAGAIN; |
| 3712 | 307 | return -1; |
| 308 | } | |
|
11543
e7218de0b500
[gaim-migrate @ 13798]
Daniel Atallah <datallah@pidgin.im>
parents:
11431
diff
changeset
|
309 | #if 0 |
| 3712 | 310 | else if( ret == 0 ) { |
| 311 | /* connection has been gracefully closed */ | |
| 312 | errno = WSAENOTCONN; | |
| 313 | return -1; | |
| 314 | } | |
|
11543
e7218de0b500
[gaim-migrate @ 13798]
Daniel Atallah <datallah@pidgin.im>
parents:
11431
diff
changeset
|
315 | #endif |
| 3712 | 316 | else { |
| 317 | /* success reading socket */ | |
| 318 | return ret; | |
| 319 | } | |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12749
diff
changeset
|
320 | } else { |
| 3712 | 321 | /* fd is not a socket handle.. pass it off to read */ |
| 322 | return read(fd, buf, size); | |
| 323 | } | |
| 324 | } | |
| 325 | ||
| 15884 | 326 | int wpurple_send(int fd, const void *buf, unsigned int size, int flags) { |
| 3712 | 327 | int ret; |
| 328 | ||
|
13780
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
329 | ret = send(fd, buf, size, flags); |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
330 | |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
331 | if (ret == SOCKET_ERROR) { |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
332 | errno = WSAGetLastError(); |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
333 | if(errno == WSAEWOULDBLOCK) |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
334 | errno = EAGAIN; |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
335 | return -1; |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
336 | } |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
337 | return ret; |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
338 | } |
|
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
339 | |
| 15884 | 340 | 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
|
341 | |
| 15884 | 342 | if(wpurple_is_socket(fd)) |
| 343 | return wpurple_send(fd, buf, size, 0); | |
|
13780
f642a0729daa
[gaim-migrate @ 16190]
Daniel Atallah <datallah@pidgin.im>
parents:
13371
diff
changeset
|
344 | else |
| 3712 | 345 | return write(fd, buf, size); |
| 346 | } | |
| 347 | ||
| 15884 | 348 | 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
|
349 | int ret; |
|
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
350 | |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12749
diff
changeset
|
351 | if((ret = recv(fd, buf, len, flags)) == SOCKET_ERROR) { |
|
12749
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
352 | errno = WSAGetLastError(); |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12749
diff
changeset
|
353 | if(errno == WSAEWOULDBLOCK) |
|
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
12749
diff
changeset
|
354 | errno = EAGAIN; |
|
12749
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
355 | return -1; |
|
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
356 | } else { |
|
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
357 | return ret; |
|
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
358 | } |
|
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
359 | } |
|
704b51d5007a
[gaim-migrate @ 15096]
Daniel Atallah <datallah@pidgin.im>
parents:
12488
diff
changeset
|
360 | |
| 15884 | 361 | int wpurple_close(int fd) { |
| 3712 | 362 | int ret; |
| 363 | ||
| 15884 | 364 | if( wpurple_is_socket(fd) ) { |
| 3712 | 365 | if( (ret = closesocket(fd)) == SOCKET_ERROR ) { |
| 366 | errno = WSAGetLastError(); | |
| 367 | return -1; | |
| 368 | } | |
| 369 | else | |
| 370 | return 0; | |
| 371 | } | |
| 372 | else | |
| 373 | return close(fd); | |
| 374 | } | |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
375 | |
| 15884 | 376 | int wpurple_gethostname(char *name, size_t size) { |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
377 | if(gethostname(name, size) == SOCKET_ERROR) { |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
378 | errno = WSAGetLastError(); |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
379 | return -1; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
380 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
381 | return 0; |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
382 | } |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
6425
diff
changeset
|
383 | |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
384 | /* sys/time.h */ |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
385 | |
| 15884 | 386 | int wpurple_gettimeofday(struct timeval *p, struct timezone *z) { |
|
3777
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
387 | int res = 0; |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
388 | struct _timeb timebuffer; |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
389 | |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
390 | if (z != 0) { |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
391 | _tzset(); |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
392 | z->tz_minuteswest = _timezone/60; |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
393 | z->tz_dsttime = _daylight; |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
394 | } |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
395 | |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
396 | if (p != 0) { |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
397 | _ftime(&timebuffer); |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
398 | p->tv_sec = timebuffer.time; /* seconds since 1-1-1970 */ |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
399 | p->tv_usec = timebuffer.millitm*1000; /* microseconds */ |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
400 | } |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
401 | |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
402 | return res; |
|
a3f8adc4c3e0
[gaim-migrate @ 3917]
Herman Bloggs <herman@bluedigits.com>
parents:
3712
diff
changeset
|
403 | } |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
404 | |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
405 | /* stdio.h */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
406 | |
| 15884 | 407 | int wpurple_rename (const char *oldname, const char *newname) { |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
408 | struct stat oldstat, newstat; |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
409 | |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
410 | if(g_stat(oldname, &oldstat) == 0) { |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
411 | /* newname exists */ |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
412 | if(g_stat(newname, &newstat) == 0) { |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
413 | /* oldname is a dir */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
414 | if(_S_ISDIR(oldstat.st_mode)) { |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
415 | if(!_S_ISDIR(newstat.st_mode)) { |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
416 | return g_rename(oldname, newname); |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
417 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
418 | /* newname is a dir */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
419 | else { |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
420 | /* This is not quite right.. If newname is empty and |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
421 | is not a sub dir of oldname, newname should be |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
422 | deleted and oldname should be renamed. |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
423 | */ |
| 15884 | 424 | 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
|
425 | return g_rename(oldname, newname); |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
426 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
427 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
428 | /* oldname is not a dir */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
429 | else { |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
430 | /* newname is a dir */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
431 | if(_S_ISDIR(newstat.st_mode)) { |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
432 | errno = EISDIR; |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
433 | return -1; |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
434 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
435 | /* newname is not a dir */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
436 | else { |
|
10589
4e10236e06d4
[gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents:
9611
diff
changeset
|
437 | g_remove(newname); |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
438 | return g_rename(oldname, newname); |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
439 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
440 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
441 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
442 | /* newname doesn't exist */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
443 | else |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
444 | return g_rename(oldname, newname); |
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
445 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
446 | else { |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
447 | /* oldname doesn't exist */ |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
448 | errno = ENOENT; |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
449 | return -1; |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
450 | } |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
451 | |
|
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
452 | } |
|
5113
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
453 | |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
454 | /* time.h */ |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
455 | |
| 15884 | 456 | 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
|
457 | struct tm* tmptm; |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
458 | |
|
5474
eec4dad3e035
[gaim-migrate @ 5868]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
459 | if(!time) |
|
5913
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5474
diff
changeset
|
460 | return NULL; |
|
5113
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
461 | tmptm = localtime(time); |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
462 | if(resultp && tmptm) |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
463 | return memcpy(resultp, tmptm, sizeof(struct tm)); |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
464 | else |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
465 | return NULL; |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
466 | } |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
467 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
468 | /* |
| 15884 | 469 | * 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
|
470 | * in src/util.c |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
471 | * |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
472 | * Code derived from PostgreSQL src/timezone/pgtz.c: |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
473 | * http://developer.postgresql.org/cvsweb.cgi/pgsql/src/timezone/pgtz.c |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
474 | */ |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
475 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
476 | /* |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
477 | PostgreSQL Database Management System |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
478 | (formerly known as Postgres, then as Postgres95) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
479 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
480 | Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
481 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
482 | Portions Copyright (c) 1994, The Regents of the University of California |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
483 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
484 | Permission to use, copy, modify, and distribute this software and its |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
485 | documentation for any purpose, without fee, and without a written agreement |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
486 | is hereby granted, provided that the above copyright notice and this |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
487 | paragraph and the following two paragraphs appear in all copies. |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
488 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
489 | 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
|
490 | DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
491 | 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
|
492 | 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
|
493 | POSSIBILITY OF SUCH DAMAGE. |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
494 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
495 | THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
496 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
497 | AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
498 | 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
|
499 | PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
500 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
501 | */ |
|
13341
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
502 | static struct |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
503 | { |
|
13341
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
504 | char *wstd; /* Windows name of standard timezone */ |
|
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
505 | char *wdst; /* Windows name of daylight timezone */ |
|
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
506 | char *ustd; /* Unix name of standard timezone */ |
|
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
507 | char *udst; /* Unix name of daylight timezone */ |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
508 | } win32_tzmap[] = |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
509 | { |
|
13339
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
510 | { |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
511 | "", "", |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
512 | "", "", |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
513 | }, |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
514 | /* |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
515 | * This list was built from the contents of the registry at |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
516 | * "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
517 | * on Windows XP Professional SP1 |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
518 | */ |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
519 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
520 | "Afghanistan Standard Time", "Afghanistan Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
521 | "AFT", "AFT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
522 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
523 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
524 | "Alaskan Standard Time", "Alaskan Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
525 | "AKST", "AKDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
526 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
527 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
528 | "Arab Standard Time", "Arab Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
529 | "AST", "AST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
530 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
531 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
532 | "Arabian Standard Time", "Arabian Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
533 | "GST", "GST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
534 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
535 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
536 | "Arabic Standard Time", "Arabic Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
537 | "AST", "ADT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
538 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
539 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
540 | "Atlantic Standard Time", "Atlantic Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
541 | "AST", "ADT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
542 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
543 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
544 | "AUS Central Standard Time", "AUS Central Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
545 | "CST", "CST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
548 | "AUS Eastern Standard Time", "AUS Eastern Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
549 | "EST", "EST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
552 | "Azores Standard Time", "Azores Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
553 | "AZOT", "AZOST" |
|
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 | "Canada Central Standard Time", "Canada Central Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
557 | "CST", "MDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
560 | "Cape Verde Standard Time", "Cape Verde Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
561 | "CVT", "CVST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
564 | "Caucasus Standard Time", "Caucasus Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
565 | "AZT", "AZST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
566 | }, |
|
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 | "Cen. Australia Standard Time", "Cen. Australia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
569 | "CST", "CST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
570 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
571 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
572 | "Central America Standard Time", "Central America Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
573 | "CST", "CDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
574 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
575 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
576 | "Central Asia Standard Time", "Central Asia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
577 | "BDT", "BDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
578 | }, |
|
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 | "Central Europe Standard Time", "Central Europe Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
581 | "CET", "CEST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
582 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
583 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
584 | "Central European Standard Time", "Central European Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
585 | "CET", "CEST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
586 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
587 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
588 | "Central Pacific Standard Time", "Central Pacific Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
589 | "NCT", "NCST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
590 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
591 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
592 | "Central Standard Time", "Central Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
593 | "CST", "CDT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
594 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
595 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
596 | "China Standard Time", "China Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
597 | "HKT", "HKST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
600 | "Dateline Standard Time", "Dateline Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
601 | "GMT+12", "GMT+12" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
604 | "E. Africa Standard Time", "E. Africa Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
605 | "EAT", "EAT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
608 | "E. Australia Standard Time", "E. Australia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
609 | "EST", "EST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
612 | "E. Europe Standard Time", "E. Europe Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
613 | "EET", "EEST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
616 | "E. South America Standard Time", "E. South America Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
617 | "BRT", "BRST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
620 | "Eastern Standard Time", "Eastern Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
621 | "EST", "EDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
624 | "Egypt Standard Time", "Egypt Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
625 | "EET", "EEST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
628 | "Ekaterinburg Standard Time", "Ekaterinburg Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
629 | "YEKT", "YEKST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
632 | "Fiji Standard Time", "Fiji Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
633 | "FJT", "FJST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
636 | "FLE Standard Time", "FLE Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
637 | "EET", "EEST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
640 | "GMT Standard Time", "GMT Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
641 | "GMT", "IST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
644 | "Greenland Standard Time", "Greenland Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
645 | "WGT", "WGST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
648 | "Greenwich Standard Time", "Greenwich Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
649 | "WET", "WEST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
652 | "GTB Standard Time", "GTB Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
653 | "EET", "EEST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
656 | "Hawaiian Standard Time", "Hawaiian Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
657 | "HST", "HPT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
660 | "India Standard Time", "India Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
661 | "IST", "IST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
664 | "Iran Standard Time", "Iran Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
665 | "IRST", "IRDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
668 | "Jerusalem Standard Time", "Jerusalem Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
669 | "IST", "IDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
672 | "Korea Standard Time", "Korea Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
673 | "KST", "KDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
676 | "Mexico Standard Time", "Mexico Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
677 | "CST", "CDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
680 | "Mexico Standard Time", "Mexico Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
681 | "BOT", "BOST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
684 | "Mid-Atlantic Standard Time", "Mid-Atlantic Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
685 | "GST", "GST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
688 | "Mountain Standard Time", "Mountain Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
689 | "MST", "MDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
692 | "Myanmar Standard Time", "Myanmar Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
693 | "MMT", "MMT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
696 | "N. Central Asia Standard Time", "N. Central Asia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
697 | "ALMT", "ALMST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
700 | "Nepal Standard Time", "Nepal Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
701 | "NPT", "NPT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
704 | "New Zealand Standard Time", "New Zealand Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
705 | "NZST", "NZDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
708 | "Newfoundland Standard Time", "Newfoundland Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
709 | "NST", "NDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
712 | "North Asia East Standard Time", "North Asia East Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
713 | "IRKT", "IRKST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
716 | "North Asia Standard Time", "North Asia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
717 | "KRAT", "KRAST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
720 | "Pacific SA Standard Time", "Pacific SA Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
721 | "CLT", "CLST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
724 | "Pacific Standard Time", "Pacific Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
725 | "PST", "PDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
728 | "Romance Standard Time", "Romance Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
729 | "CET", "CEST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
732 | "Russian Standard Time", "Russian Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
733 | "MSK", "MSD" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
736 | "SA Eastern Standard Time", "SA Eastern Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
737 | "ART", "ARST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
740 | "SA Pacific Standard Time", "SA Pacific Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
741 | "COT", "COST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
744 | "SA Western Standard Time", "SA Western Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
745 | "VET", "VET" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
748 | "Samoa Standard Time", "Samoa Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
749 | "SST", "NDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
752 | "SE Asia Standard Time", "SE Asia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
753 | "ICT", "ICT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
756 | "Malay Peninsula Standard Time", "Malay Peninsula Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
757 | "MYT", "MALST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
760 | "South Africa Standard Time", "South Africa Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
761 | "CAT", "CAT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
764 | "Sri Lanka Standard Time", "Sri Lanka Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
765 | "LKT", "IST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
768 | "Taipei Standard Time", "Taipei Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
769 | "CST", "CDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
772 | "Tasmania Standard Time", "Tasmania Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
773 | "EST", "EST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
776 | "Tokyo Standard Time", "Tokyo Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
777 | "JST", "JDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
780 | "Tonga Standard Time", "Tonga Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
781 | "TOT", "TOST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
784 | "US Eastern Standard Time", "US Eastern Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
785 | "EST", "EDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
788 | "US Mountain Standard Time", "US Mountain Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
789 | "MST", "MDT" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
792 | "Vladivostok Standard Time", "Vladivostok Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
793 | "VLAT", "VLAST" |
|
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 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
796 | "W. Australia Standard Time", "W. Australia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
797 | "WST", "WST" |
|
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 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
800 | /* Not mapped in PostgreSQL. |
|
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 | * I mapped this based on the following information... -- rlaager |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
803 | * $ cd /usr/share/zoneinfo/Africa |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
804 | * $ 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
|
805 | * +0100 CET Algiers |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
806 | * +0100 WAT Bangui |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
807 | * +0100 WAT Brazzaville |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
808 | * +0100 CET Ceuta |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
809 | * +0100 WAT Douala |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
810 | * +0100 WAT Kinshasa |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
811 | * +0100 WAT Lagos |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
812 | * +0100 WAT Libreville |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
813 | * +0100 WAT Luanda |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
814 | * +0100 WAT Malabo |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
815 | * +0100 WAT Ndjamena |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
816 | * +0100 WAT Niamey |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
817 | * +0100 WAT Porto-Novo |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
818 | * +0100 CET Tunis |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
819 | **/ |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
820 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
821 | "W. Central Africa Standard Time", "W. Central Africa Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
822 | "WAT", "WAT" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
823 | }, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
824 | |
|
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 | "W. Europe Standard Time", "W. Europe Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
827 | "CET", "CEST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
828 | }, |
|
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 | "West Asia Standard Time", "West Asia Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
831 | "PKT", "PKST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
832 | }, |
|
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 | "West Pacific Standard Time", "West Pacific Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
835 | "ChST", "ChST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
836 | }, |
|
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 | "Yakutsk Standard Time", "Yakutsk Daylight Time", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
839 | "YAKT", "YAKST" |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
840 | }, |
|
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 | NULL, NULL, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
843 | NULL, NULL |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
844 | } |
|
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 | const char * |
| 15884 | 848 | wpurple_get_timezone_abbreviation(const struct tm *tm) |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
849 | { |
|
13371
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
850 | int i; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
851 | char tzname[128]; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
852 | char localtzname[256]; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
853 | HKEY rootKey; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
854 | int idx; |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
855 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
856 | if (!tm) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
857 | { |
| 15884 | 858 | 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
|
859 | return ""; |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
860 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
861 | |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
862 | if (strftime(tzname, sizeof(tzname) - 1, "%Z", tm) == 0) |
|
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
863 | { |
| 15884 | 864 | 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
|
865 | return ""; |
|
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
866 | } |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
867 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
868 | for (i = 0; win32_tzmap[i].wstd != NULL; i++) |
|
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 | if (strcmp(tzname, win32_tzmap[i].wstd) == 0) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
871 | { |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
872 | #if 0 |
| 15884 | 873 | 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
|
874 | win32_tzmap[i].ustd, tzname); |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
875 | #endif |
|
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
876 | /* Cache the Result */ |
|
13371
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
877 | if (i > 0) { |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
878 | if (win32_tzmap[0].wstd[0] != '\0') |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
879 | g_free(win32_tzmap[0].wstd); |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
880 | win32_tzmap[0].wstd = g_strdup(tzname); |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
881 | win32_tzmap[0].ustd = win32_tzmap[i].ustd; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
882 | } |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
883 | |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
884 | return win32_tzmap[i].ustd; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
885 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
886 | if (strcmp(tzname, win32_tzmap[i].wdst) == 0) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
887 | { |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
888 | #if 0 |
| 15884 | 889 | 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
|
890 | win32_tzmap[i].udst, tzname); |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
891 | #endif |
|
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
892 | /* Cache the Result */ |
|
13371
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
893 | if (i > 0) { |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
894 | if (win32_tzmap[0].wdst[0] != '\0') |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
895 | g_free(win32_tzmap[0].wdst); |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
896 | win32_tzmap[0].wdst = g_strdup(tzname); |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
897 | win32_tzmap[0].udst = win32_tzmap[i].udst; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
898 | } |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
899 | |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
900 | return win32_tzmap[i].udst; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
901 | } |
|
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 | * Localized Windows versions return localized names for the timezone. |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
906 | * 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
|
907 | * against our table again. |
|
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 | memset(localtzname, 0, sizeof(localtzname)); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
910 | if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
911 | "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones", |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
912 | 0, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
913 | KEY_READ, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
914 | &rootKey) != ERROR_SUCCESS) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
915 | { |
| 15884 | 916 | 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
|
917 | return ""; |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
918 | } |
|
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 | for (idx = 0;; idx++) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
921 | { |
|
13371
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
922 | char keyname[256]; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
923 | char zonename[256]; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
924 | DWORD namesize; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
925 | FILETIME lastwrite; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
926 | HKEY key; |
|
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
927 | LONG r; |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
928 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
929 | memset(keyname, 0, sizeof(keyname)); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
930 | namesize = sizeof(keyname); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
931 | if ((r = RegEnumKeyEx(rootKey, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
932 | idx, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
933 | keyname, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
934 | &namesize, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
935 | NULL, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
936 | NULL, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
937 | NULL, |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
938 | &lastwrite)) != ERROR_SUCCESS) |
|
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 | if (r == ERROR_NO_MORE_ITEMS) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
941 | break; |
| 15884 | 942 | 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
|
943 | break; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
944 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
945 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
946 | if ((r = RegOpenKeyEx(rootKey, keyname, 0, KEY_READ, &key)) != ERROR_SUCCESS) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
947 | { |
| 15884 | 948 | 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
|
949 | break; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
950 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
951 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
952 | memset(zonename, 0, sizeof(zonename)); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
953 | namesize = sizeof(zonename); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
954 | if ((r = RegQueryValueEx(key, "Std", NULL, NULL, zonename, &namesize)) != ERROR_SUCCESS) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
955 | { |
| 15884 | 956 | 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
|
957 | RegCloseKey(key); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
958 | break; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
959 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
960 | if (strcmp(tzname, zonename) == 0) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
961 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
962 | /* Matched zone */ |
|
13371
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
963 | strcpy(localtzname, keyname); |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
964 | RegCloseKey(key); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
965 | break; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
966 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
967 | memset(zonename, 0, sizeof(zonename)); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
968 | namesize = sizeof(zonename); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
969 | if ((r = RegQueryValueEx(key, "Dlt", NULL, NULL, zonename, &namesize)) != ERROR_SUCCESS) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
970 | { |
| 15884 | 971 | 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
|
972 | RegCloseKey(key); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
973 | break; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
974 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
975 | if (strcmp(tzname, zonename) == 0) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
976 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
977 | /* Matched DST zone */ |
|
13371
b8018658174e
[gaim-migrate @ 15743]
Daniel Atallah <datallah@pidgin.im>
parents:
13363
diff
changeset
|
978 | strcpy(localtzname, keyname); |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
979 | RegCloseKey(key); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
980 | break; |
|
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 | RegCloseKey(key); |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
984 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
985 | |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
986 | RegCloseKey(rootKey); |
|
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 | if (localtzname[0]) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
989 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
990 | /* Found a localized name, so scan for that one too */ |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
991 | for (i = 0; win32_tzmap[i].wstd != NULL; i++) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
992 | { |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
993 | if (strcmp(localtzname, win32_tzmap[i].wstd) == 0) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
994 | { |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
995 | #if 0 |
| 15884 | 996 | 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
|
997 | win32_tzmap[i].ustd, tzname, localtzname); |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
998 | #endif |
|
13339
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
999 | /* Cache the Result */ |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1000 | if (win32_tzmap[0].wstd[0] != '\0') |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1001 | g_free(win32_tzmap[0].wstd); |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1002 | win32_tzmap[0].wstd = g_strdup(tzname); |
|
13341
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
1003 | win32_tzmap[0].ustd = win32_tzmap[i].ustd; |
|
13339
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1004 | |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1005 | return win32_tzmap[i].ustd; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1006 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1007 | if (strcmp(localtzname, win32_tzmap[i].wdst) == 0) |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1008 | { |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
1009 | #if 0 |
| 15884 | 1010 | 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
|
1011 | win32_tzmap[i].udst, tzname, localtzname); |
|
13363
d64e626254cc
[gaim-migrate @ 15735]
Richard Laager <rlaager@pidgin.im>
parents:
13341
diff
changeset
|
1012 | #endif |
|
13339
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1013 | /* Cache the Result */ |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1014 | if (win32_tzmap[0].wdst[0] != '\0') |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1015 | g_free(win32_tzmap[0].wdst); |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1016 | |
|
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1017 | win32_tzmap[0].wdst = g_strdup(tzname); |
|
13341
7aea080ea72d
[gaim-migrate @ 15710]
Daniel Atallah <datallah@pidgin.im>
parents:
13339
diff
changeset
|
1018 | win32_tzmap[0].udst = win32_tzmap[i].udst; |
|
13339
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1019 | |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1020 | return win32_tzmap[i].udst; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1021 | } |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1022 | } |
|
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 | |
| 15884 | 1025 | 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
|
1026 | return ""; |
|
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
13201
diff
changeset
|
1027 | } |
|
13339
781d47b2636c
[gaim-migrate @ 15708]
Richard Laager <rlaager@pidgin.im>
parents:
13334
diff
changeset
|
1028 | |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1029 | #if !GLIB_CHECK_VERSION(2,8,0) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1030 | /** |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1031 | * g_access: |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1032 | * @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
|
1033 | * @mode: as in access() |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1034 | * |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1035 | * 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
|
1036 | * 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
|
1037 | * permissions, or just existence. On Windows, the underlying access() |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1038 | * function in the C library only checks the READONLY attribute, and |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1039 | * 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
|
1040 | * permissions on Windows more exactly should use the Win32 API. |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1041 | * |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1042 | * See the C library manual for more details about access(). |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1043 | * |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1044 | * Returns: zero if the pathname refers to an existing file system |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1045 | * 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
|
1046 | * error. |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1047 | * |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1048 | * Since: 2.8 |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1049 | */ |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1050 | int |
| 15884 | 1051 | wpurple_g_access (const gchar *filename, |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1052 | int mode) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1053 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1054 | if (G_WIN32_HAVE_WIDECHAR_API ()) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1055 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1056 | 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
|
1057 | int retval; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1058 | int save_errno; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1059 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1060 | if (wfilename == NULL) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1061 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1062 | errno = EINVAL; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1063 | return -1; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1064 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1065 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1066 | retval = _waccess (wfilename, mode); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1067 | save_errno = errno; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1068 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1069 | g_free (wfilename); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1070 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1071 | errno = save_errno; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1072 | return retval; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1073 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1074 | else |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1075 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1076 | 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
|
1077 | int retval; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1078 | int save_errno; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1079 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1080 | if (cp_filename == NULL) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1081 | { |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1082 | errno = EINVAL; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1083 | return -1; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1084 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1085 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1086 | retval = access (cp_filename, mode); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1087 | save_errno = errno; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1088 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1089 | g_free (cp_filename); |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1090 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1091 | errno = save_errno; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1092 | return retval; |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1093 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1094 | } |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1095 | #endif |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1096 | |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
1097 |