Sat, 26 May 2007 12:38:24 +0000
propagate from branch 'im.pidgin.pidgin' (head e88a54874d37857642b7c3f579ec99e5dd439da1)
to branch 'im.pidgin.cpw.khc.msnp14' (head 803dee40191ec8ebc9246fb9707d64ff9ed51269)
| 5309 | 1 | /** |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
2 | * @file msnutils.c Utility functions |
| 5309 | 3 | * |
| 15884 | 4 | * purple |
| 5309 | 5 | * |
| 15884 | 6 | * Purple is the legal property of its developers, whose names are too numerous |
|
9198
e8eb6d5eb9eb
[gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents:
9193
diff
changeset
|
7 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
e8eb6d5eb9eb
[gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents:
9193
diff
changeset
|
8 | * source distribution. |
|
6701
7e2db9273748
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6359
diff
changeset
|
9 | * |
| 5309 | 10 | * This program is free software; you can redistribute it and/or modify |
| 11 | * it under the terms of the GNU General Public License as published by | |
| 12 | * the Free Software Foundation; either version 2 of the License, or | |
| 13 | * (at your option) any later version. | |
| 14 | * | |
| 15 | * This program is distributed in the hope that it will be useful, | |
| 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 18 | * GNU General Public License for more details. | |
| 19 | * | |
| 20 | * You should have received a copy of the GNU General Public License | |
| 21 | * along with this program; if not, write to the Free Software | |
| 22 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 23 | */ | |
| 24 | #include "msn.h" | |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
25 | #include "msnutils.h" |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
26 | #include "time.h" |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
27 | //#include <openssl/md5.h> |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
28 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
29 | char *rand_guid(void); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
30 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
31 | /************************************************************************** |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
32 | * Util |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
33 | **************************************************************************/ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
34 | char * |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
35 | rand_guid() |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
36 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
37 | return g_strdup_printf("%4X%4X-%4X-%4X-%4X-%4X%4X%4X", |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
38 | rand() % 0xAAFF + 0x1111, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
39 | rand() % 0xAAFF + 0x1111, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
40 | rand() % 0xAAFF + 0x1111, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
41 | rand() % 0xAAFF + 0x1111, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
42 | rand() % 0xAAFF + 0x1111, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
43 | rand() % 0xAAFF + 0x1111, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
44 | rand() % 0xAAFF + 0x1111, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
45 | rand() % 0xAAFF + 0x1111); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
46 | } |
| 5309 | 47 | |
|
6358
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
48 | void |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
49 | msn_parse_format(const char *mime, char **pre_ret, char **post_ret) |
| 5309 | 50 | { |
| 51 | char *cur; | |
|
6358
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
52 | GString *pre = g_string_new(NULL); |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
53 | GString *post = g_string_new(NULL); |
|
6093
2095841fde03
[gaim-migrate @ 6552]
Christian Hammond <chipx86@chipx86.com>
parents:
5964
diff
changeset
|
54 | unsigned int colors[3]; |
| 5309 | 55 | |
|
6358
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
56 | if (pre_ret != NULL) *pre_ret = NULL; |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
57 | if (post_ret != NULL) *post_ret = NULL; |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
58 | |
| 5309 | 59 | cur = strstr(mime, "FN="); |
| 60 | ||
| 8518 | 61 | if (cur && (*(cur = cur + 3) != ';')) |
| 62 | { | |
|
6358
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
63 | pre = g_string_append(pre, "<FONT FACE=\""); |
| 5309 | 64 | |
| 8518 | 65 | while (*cur && *cur != ';') |
| 66 | { | |
|
6358
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
67 | pre = g_string_append_c(pre, *cur); |
| 5309 | 68 | cur++; |
| 69 | } | |
| 70 | ||
|
6358
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
71 | pre = g_string_append(pre, "\">"); |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
72 | post = g_string_prepend(post, "</FONT>"); |
| 5309 | 73 | } |
|
6358
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
74 | |
| 5309 | 75 | cur = strstr(mime, "EF="); |
| 76 | ||
| 8518 | 77 | if (cur && (*(cur = cur + 3) != ';')) |
| 78 | { | |
| 79 | while (*cur && *cur != ';') | |
| 80 | { | |
|
6358
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
81 | pre = g_string_append_c(pre, '<'); |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
82 | pre = g_string_append_c(pre, *cur); |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
83 | pre = g_string_append_c(pre, '>'); |
| 8691 | 84 | post = g_string_prepend_c(post, '>'); |
| 85 | post = g_string_prepend_c(post, *cur); | |
| 86 | post = g_string_prepend_c(post, '/'); | |
| 87 | post = g_string_prepend_c(post, '<'); | |
| 5309 | 88 | cur++; |
| 89 | } | |
| 90 | } | |
| 91 | ||
| 92 | cur = strstr(mime, "CO="); | |
| 93 | ||
| 8518 | 94 | if (cur && (*(cur = cur + 3) != ';')) |
| 95 | { | |
|
6093
2095841fde03
[gaim-migrate @ 6552]
Christian Hammond <chipx86@chipx86.com>
parents:
5964
diff
changeset
|
96 | int i; |
|
2095841fde03
[gaim-migrate @ 6552]
Christian Hammond <chipx86@chipx86.com>
parents:
5964
diff
changeset
|
97 | |
|
2095841fde03
[gaim-migrate @ 6552]
Christian Hammond <chipx86@chipx86.com>
parents:
5964
diff
changeset
|
98 | i = sscanf(cur, "%02x%02x%02x;", &colors[0], &colors[1], &colors[2]); |
|
2095841fde03
[gaim-migrate @ 6552]
Christian Hammond <chipx86@chipx86.com>
parents:
5964
diff
changeset
|
99 | |
| 8518 | 100 | if (i > 0) |
| 101 | { | |
| 5309 | 102 | char tag[64]; |
|
6093
2095841fde03
[gaim-migrate @ 6552]
Christian Hammond <chipx86@chipx86.com>
parents:
5964
diff
changeset
|
103 | |
| 8518 | 104 | if (i == 1) |
| 105 | { | |
|
6093
2095841fde03
[gaim-migrate @ 6552]
Christian Hammond <chipx86@chipx86.com>
parents:
5964
diff
changeset
|
106 | colors[1] = 0; |
| 8518 | 107 | colors[2] = 0; |
|
6093
2095841fde03
[gaim-migrate @ 6552]
Christian Hammond <chipx86@chipx86.com>
parents:
5964
diff
changeset
|
108 | } |
| 8518 | 109 | else if (i == 2) |
| 110 | { | |
| 111 | unsigned int temp = colors[0]; | |
| 112 | ||
| 113 | colors[0] = colors[1]; | |
| 114 | colors[1] = temp; | |
| 115 | colors[2] = 0; | |
| 116 | } | |
| 117 | else if (i == 3) | |
| 118 | { | |
| 119 | unsigned int temp = colors[2]; | |
| 120 | ||
| 121 | colors[2] = colors[0]; | |
| 122 | colors[0] = temp; | |
|
6093
2095841fde03
[gaim-migrate @ 6552]
Christian Hammond <chipx86@chipx86.com>
parents:
5964
diff
changeset
|
123 | } |
|
2095841fde03
[gaim-migrate @ 6552]
Christian Hammond <chipx86@chipx86.com>
parents:
5964
diff
changeset
|
124 | |
| 5309 | 125 | g_snprintf(tag, sizeof(tag), |
| 126 | "<FONT COLOR=\"#%02hhx%02hhx%02hhx\">", | |
| 8518 | 127 | colors[0], colors[1], colors[2]); |
| 128 | ||
|
6358
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
129 | pre = g_string_append(pre, tag); |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
130 | post = g_string_prepend(post, "</FONT>"); |
| 5309 | 131 | } |
| 132 | } | |
| 133 | ||
|
16143
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
134 | cur = strstr(mime, "RL="); |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
135 | |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
136 | if (cur && (*(cur = cur + 3) != ';')) |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
137 | { |
| 16144 | 138 | if (*cur == '1') |
| 139 | { | |
|
16143
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
140 | /* RTL text was received */ |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
141 | pre = g_string_append(pre, "<SPAN style=\"direction:rtl;text-align:right;\">"); |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
142 | post = g_string_prepend(post, "</SPAN>"); |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
143 | } |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
144 | } |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
145 | |
| 15884 | 146 | cur = g_strdup(purple_url_decode(pre->str)); |
|
6358
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
147 | g_string_free(pre, TRUE); |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
148 | |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
149 | if (pre_ret != NULL) |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
150 | *pre_ret = cur; |
|
6359
5b1705ffdd55
[gaim-migrate @ 6863]
Christian Hammond <chipx86@chipx86.com>
parents:
6358
diff
changeset
|
151 | else |
|
5b1705ffdd55
[gaim-migrate @ 6863]
Christian Hammond <chipx86@chipx86.com>
parents:
6358
diff
changeset
|
152 | g_free(cur); |
| 5309 | 153 | |
| 15884 | 154 | cur = g_strdup(purple_url_decode(post->str)); |
|
6358
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
155 | g_string_free(post, TRUE); |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
156 | |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
157 | if (post_ret != NULL) |
|
c3347685b9ef
[gaim-migrate @ 6862]
Christian Hammond <chipx86@chipx86.com>
parents:
6093
diff
changeset
|
158 | *post_ret = cur; |
|
6359
5b1705ffdd55
[gaim-migrate @ 6863]
Christian Hammond <chipx86@chipx86.com>
parents:
6358
diff
changeset
|
159 | else |
|
5b1705ffdd55
[gaim-migrate @ 6863]
Christian Hammond <chipx86@chipx86.com>
parents:
6358
diff
changeset
|
160 | g_free(cur); |
| 5309 | 161 | } |
| 8518 | 162 | |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
163 | /*encode the str to RFC2047 style |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
164 | * Currently only support the UTF-8 and base64 encode |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
165 | */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
166 | char * |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
167 | msn_encode_mime(const char *str) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
168 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
169 | char *base64; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
170 | |
|
20486
26b9f3efe52d
The last of the merge fix-ups.
Richard Laager <rlaager@pidgin.im>
parents:
20485
diff
changeset
|
171 | base64 = purple_base64_encode((guchar *)str, strlen(str)); |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
172 | return g_strdup_printf("=?utf-8?B?%s?=", base64); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
173 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
174 | |
| 8518 | 175 | /* |
| 176 | * We need this because we're only supposed to encode spaces in the font | |
| 15884 | 177 | * names. purple_url_encode() isn't acceptable. |
| 8518 | 178 | */ |
|
11897
10853b830964
[gaim-migrate @ 14188]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11176
diff
changeset
|
179 | static const char * |
| 8518 | 180 | encode_spaces(const char *str) |
| 181 | { | |
| 182 | static char buf[BUF_LEN]; | |
| 183 | const char *c; | |
| 184 | char *d; | |
| 185 | ||
| 186 | g_return_val_if_fail(str != NULL, NULL); | |
| 187 | ||
| 188 | for (c = str, d = buf; *c != '\0'; c++) | |
| 189 | { | |
| 190 | if (*c == ' ') | |
| 191 | { | |
| 192 | *d++ = '%'; | |
| 193 | *d++ = '2'; | |
| 194 | *d++ = '0'; | |
| 195 | } | |
| 196 | else | |
| 197 | *d++ = *c; | |
| 198 | } | |
| 199 | ||
| 200 | return buf; | |
| 201 | } | |
| 202 | ||
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
203 | /* |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
204 | * Taken from the zephyr plugin. |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
205 | * This parses HTML formatting (put out by one of the gtkimhtml widgets |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
206 | * and converts it to msn formatting. It doesn't deal with the tag closing, |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
207 | * but gtkimhtml widgets give valid html. |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
208 | * It currently deals properly with <b>, <u>, <i>, <font face=...>, |
|
16143
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
209 | * <font color=...>, <span dir=...>, <span style="direction: ...">. |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
210 | * It ignores <font back=...> and <font size=...> |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
211 | */ |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
212 | void |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
213 | msn_import_html(const char *html, char **attributes, char **message) |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
214 | { |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
215 | int len, retcount = 0; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
216 | const char *c; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
217 | char *msg; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
218 | char *fontface = NULL; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
219 | char fonteffect[4]; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
220 | char fontcolor[7]; |
|
16143
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
221 | char direction = '0'; |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
222 | |
|
15850
882a2d125191
Fixed whitespace and variable naming issues with the patch I accepted in 1b4d3c82ad56354b161862e1a8ff0ebd1877dd03
Evan Schoenberg <evands@pidgin.im>
parents:
15849
diff
changeset
|
223 | gboolean has_bold = FALSE; |
|
882a2d125191
Fixed whitespace and variable naming issues with the patch I accepted in 1b4d3c82ad56354b161862e1a8ff0ebd1877dd03
Evan Schoenberg <evands@pidgin.im>
parents:
15849
diff
changeset
|
224 | gboolean has_italic = FALSE; |
|
882a2d125191
Fixed whitespace and variable naming issues with the patch I accepted in 1b4d3c82ad56354b161862e1a8ff0ebd1877dd03
Evan Schoenberg <evands@pidgin.im>
parents:
15849
diff
changeset
|
225 | gboolean has_underline = FALSE; |
|
882a2d125191
Fixed whitespace and variable naming issues with the patch I accepted in 1b4d3c82ad56354b161862e1a8ff0ebd1877dd03
Evan Schoenberg <evands@pidgin.im>
parents:
15849
diff
changeset
|
226 | gboolean has_strikethrough = FALSE; |
|
15849
1b4d3c82ad56
Patch from plivesey, submitted in Adium Trac #5753 (http://trac.adiumx.com/ticket/5753), which fixes a memory stomper which occurred if the msn prpl were passed HTML with multiple style tags of the same type. This doesn't happen in pidgin, because the gtkhtml widget knows that msn can only have one all-or-none instance of each style, but libpurple should be able to handle being passed any sort of HTML. This therefore fixes an Adium crash.
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
227 | |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
228 | g_return_if_fail(html != NULL); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
229 | g_return_if_fail(attributes != NULL); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
230 | g_return_if_fail(message != NULL); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
231 | |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
232 | len = strlen(html); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
233 | msg = g_malloc0(len + 1); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
234 | |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
235 | memset(fontcolor, 0, sizeof(fontcolor)); |
|
10093
e22f76d46b0b
[gaim-migrate @ 11111]
Evan Schoenberg <evands@pidgin.im>
parents:
10041
diff
changeset
|
236 | strcat(fontcolor, "0"); |
|
10041
79adc9cc8e84
[gaim-migrate @ 11000]
Mark Doliner <markdoliner@pidgin.im>
parents:
9331
diff
changeset
|
237 | memset(fonteffect, 0, sizeof(fonteffect)); |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
238 | |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
239 | for (c = html; *c != '\0';) |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
240 | { |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
241 | if (*c == '<') |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
242 | { |
|
8923
cadbc8e3dfe2
[gaim-migrate @ 9693]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8921
diff
changeset
|
243 | if (!g_ascii_strncasecmp(c + 1, "br>", 3)) |
|
cadbc8e3dfe2
[gaim-migrate @ 9693]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8921
diff
changeset
|
244 | { |
|
cadbc8e3dfe2
[gaim-migrate @ 9693]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8921
diff
changeset
|
245 | msg[retcount++] = '\r'; |
|
cadbc8e3dfe2
[gaim-migrate @ 9693]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8921
diff
changeset
|
246 | msg[retcount++] = '\n'; |
|
cadbc8e3dfe2
[gaim-migrate @ 9693]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8921
diff
changeset
|
247 | c += 4; |
|
cadbc8e3dfe2
[gaim-migrate @ 9693]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8921
diff
changeset
|
248 | } |
|
cadbc8e3dfe2
[gaim-migrate @ 9693]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8921
diff
changeset
|
249 | else if (!g_ascii_strncasecmp(c + 1, "i>", 2)) |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
250 | { |
|
15850
882a2d125191
Fixed whitespace and variable naming issues with the patch I accepted in 1b4d3c82ad56354b161862e1a8ff0ebd1877dd03
Evan Schoenberg <evands@pidgin.im>
parents:
15849
diff
changeset
|
251 | if (!has_italic) |
|
15849
1b4d3c82ad56
Patch from plivesey, submitted in Adium Trac #5753 (http://trac.adiumx.com/ticket/5753), which fixes a memory stomper which occurred if the msn prpl were passed HTML with multiple style tags of the same type. This doesn't happen in pidgin, because the gtkhtml widget knows that msn can only have one all-or-none instance of each style, but libpurple should be able to handle being passed any sort of HTML. This therefore fixes an Adium crash.
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
252 | { |
|
1b4d3c82ad56
Patch from plivesey, submitted in Adium Trac #5753 (http://trac.adiumx.com/ticket/5753), which fixes a memory stomper which occurred if the msn prpl were passed HTML with multiple style tags of the same type. This doesn't happen in pidgin, because the gtkhtml widget knows that msn can only have one all-or-none instance of each style, but libpurple should be able to handle being passed any sort of HTML. This therefore fixes an Adium crash.
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
253 | strcat(fonteffect, "I"); |
|
15850
882a2d125191
Fixed whitespace and variable naming issues with the patch I accepted in 1b4d3c82ad56354b161862e1a8ff0ebd1877dd03
Evan Schoenberg <evands@pidgin.im>
parents:
15849
diff
changeset
|
254 | has_italic = TRUE; |
|
15849
1b4d3c82ad56
Patch from plivesey, submitted in Adium Trac #5753 (http://trac.adiumx.com/ticket/5753), which fixes a memory stomper which occurred if the msn prpl were passed HTML with multiple style tags of the same type. This doesn't happen in pidgin, because the gtkhtml widget knows that msn can only have one all-or-none instance of each style, but libpurple should be able to handle being passed any sort of HTML. This therefore fixes an Adium crash.
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
255 | } |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
256 | c += 3; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
257 | } |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
258 | else if (!g_ascii_strncasecmp(c + 1, "b>", 2)) |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
259 | { |
|
15850
882a2d125191
Fixed whitespace and variable naming issues with the patch I accepted in 1b4d3c82ad56354b161862e1a8ff0ebd1877dd03
Evan Schoenberg <evands@pidgin.im>
parents:
15849
diff
changeset
|
260 | if (!has_bold) |
|
15849
1b4d3c82ad56
Patch from plivesey, submitted in Adium Trac #5753 (http://trac.adiumx.com/ticket/5753), which fixes a memory stomper which occurred if the msn prpl were passed HTML with multiple style tags of the same type. This doesn't happen in pidgin, because the gtkhtml widget knows that msn can only have one all-or-none instance of each style, but libpurple should be able to handle being passed any sort of HTML. This therefore fixes an Adium crash.
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
261 | { |
|
1b4d3c82ad56
Patch from plivesey, submitted in Adium Trac #5753 (http://trac.adiumx.com/ticket/5753), which fixes a memory stomper which occurred if the msn prpl were passed HTML with multiple style tags of the same type. This doesn't happen in pidgin, because the gtkhtml widget knows that msn can only have one all-or-none instance of each style, but libpurple should be able to handle being passed any sort of HTML. This therefore fixes an Adium crash.
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
262 | strcat(fonteffect, "B"); |
|
15850
882a2d125191
Fixed whitespace and variable naming issues with the patch I accepted in 1b4d3c82ad56354b161862e1a8ff0ebd1877dd03
Evan Schoenberg <evands@pidgin.im>
parents:
15849
diff
changeset
|
263 | has_bold = TRUE; |
|
15849
1b4d3c82ad56
Patch from plivesey, submitted in Adium Trac #5753 (http://trac.adiumx.com/ticket/5753), which fixes a memory stomper which occurred if the msn prpl were passed HTML with multiple style tags of the same type. This doesn't happen in pidgin, because the gtkhtml widget knows that msn can only have one all-or-none instance of each style, but libpurple should be able to handle being passed any sort of HTML. This therefore fixes an Adium crash.
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
264 | } |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
265 | c += 3; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
266 | } |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
267 | else if (!g_ascii_strncasecmp(c + 1, "u>", 2)) |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
268 | { |
|
15850
882a2d125191
Fixed whitespace and variable naming issues with the patch I accepted in 1b4d3c82ad56354b161862e1a8ff0ebd1877dd03
Evan Schoenberg <evands@pidgin.im>
parents:
15849
diff
changeset
|
269 | if (!has_underline) |
|
15849
1b4d3c82ad56
Patch from plivesey, submitted in Adium Trac #5753 (http://trac.adiumx.com/ticket/5753), which fixes a memory stomper which occurred if the msn prpl were passed HTML with multiple style tags of the same type. This doesn't happen in pidgin, because the gtkhtml widget knows that msn can only have one all-or-none instance of each style, but libpurple should be able to handle being passed any sort of HTML. This therefore fixes an Adium crash.
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
270 | { |
|
1b4d3c82ad56
Patch from plivesey, submitted in Adium Trac #5753 (http://trac.adiumx.com/ticket/5753), which fixes a memory stomper which occurred if the msn prpl were passed HTML with multiple style tags of the same type. This doesn't happen in pidgin, because the gtkhtml widget knows that msn can only have one all-or-none instance of each style, but libpurple should be able to handle being passed any sort of HTML. This therefore fixes an Adium crash.
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
271 | strcat(fonteffect, "U"); |
|
15850
882a2d125191
Fixed whitespace and variable naming issues with the patch I accepted in 1b4d3c82ad56354b161862e1a8ff0ebd1877dd03
Evan Schoenberg <evands@pidgin.im>
parents:
15849
diff
changeset
|
272 | has_underline = TRUE; |
|
15849
1b4d3c82ad56
Patch from plivesey, submitted in Adium Trac #5753 (http://trac.adiumx.com/ticket/5753), which fixes a memory stomper which occurred if the msn prpl were passed HTML with multiple style tags of the same type. This doesn't happen in pidgin, because the gtkhtml widget knows that msn can only have one all-or-none instance of each style, but libpurple should be able to handle being passed any sort of HTML. This therefore fixes an Adium crash.
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
273 | } |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
274 | c += 3; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
275 | } |
|
10274
f329b1d7fd43
[gaim-migrate @ 11424]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10093
diff
changeset
|
276 | else if (!g_ascii_strncasecmp(c + 1, "s>", 2)) |
|
f329b1d7fd43
[gaim-migrate @ 11424]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10093
diff
changeset
|
277 | { |
|
15850
882a2d125191
Fixed whitespace and variable naming issues with the patch I accepted in 1b4d3c82ad56354b161862e1a8ff0ebd1877dd03
Evan Schoenberg <evands@pidgin.im>
parents:
15849
diff
changeset
|
278 | if (!has_strikethrough) |
|
15849
1b4d3c82ad56
Patch from plivesey, submitted in Adium Trac #5753 (http://trac.adiumx.com/ticket/5753), which fixes a memory stomper which occurred if the msn prpl were passed HTML with multiple style tags of the same type. This doesn't happen in pidgin, because the gtkhtml widget knows that msn can only have one all-or-none instance of each style, but libpurple should be able to handle being passed any sort of HTML. This therefore fixes an Adium crash.
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
279 | { |
|
1b4d3c82ad56
Patch from plivesey, submitted in Adium Trac #5753 (http://trac.adiumx.com/ticket/5753), which fixes a memory stomper which occurred if the msn prpl were passed HTML with multiple style tags of the same type. This doesn't happen in pidgin, because the gtkhtml widget knows that msn can only have one all-or-none instance of each style, but libpurple should be able to handle being passed any sort of HTML. This therefore fixes an Adium crash.
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
280 | strcat(fonteffect, "S"); |
|
15850
882a2d125191
Fixed whitespace and variable naming issues with the patch I accepted in 1b4d3c82ad56354b161862e1a8ff0ebd1877dd03
Evan Schoenberg <evands@pidgin.im>
parents:
15849
diff
changeset
|
281 | has_strikethrough = TRUE; |
|
15849
1b4d3c82ad56
Patch from plivesey, submitted in Adium Trac #5753 (http://trac.adiumx.com/ticket/5753), which fixes a memory stomper which occurred if the msn prpl were passed HTML with multiple style tags of the same type. This doesn't happen in pidgin, because the gtkhtml widget knows that msn can only have one all-or-none instance of each style, but libpurple should be able to handle being passed any sort of HTML. This therefore fixes an Adium crash.
Evan Schoenberg <evands@pidgin.im>
parents:
15435
diff
changeset
|
282 | } |
|
10274
f329b1d7fd43
[gaim-migrate @ 11424]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10093
diff
changeset
|
283 | c += 3; |
|
f329b1d7fd43
[gaim-migrate @ 11424]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10093
diff
changeset
|
284 | } |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
285 | else if (!g_ascii_strncasecmp(c + 1, "a href=\"", 8)) |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
286 | { |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
287 | c += 9; |
|
10274
f329b1d7fd43
[gaim-migrate @ 11424]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10093
diff
changeset
|
288 | |
| 9331 | 289 | if (!g_ascii_strncasecmp(c, "mailto:", 7)) |
| 290 | c += 7; | |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
291 | |
|
11176
a7b860aa756e
[gaim-migrate @ 13283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10274
diff
changeset
|
292 | while ((*c != '\0') && g_ascii_strncasecmp(c, "\">", 2)) |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
293 | msg[retcount++] = *c++; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
294 | |
|
11176
a7b860aa756e
[gaim-migrate @ 13283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10274
diff
changeset
|
295 | if (*c != '\0') |
|
a7b860aa756e
[gaim-migrate @ 13283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10274
diff
changeset
|
296 | c += 2; |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
297 | |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
298 | /* ignore descriptive string */ |
|
11176
a7b860aa756e
[gaim-migrate @ 13283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10274
diff
changeset
|
299 | while ((*c != '\0') && g_ascii_strncasecmp(c, "</a>", 4)) |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
300 | c++; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
301 | |
|
11176
a7b860aa756e
[gaim-migrate @ 13283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10274
diff
changeset
|
302 | if (*c != '\0') |
|
a7b860aa756e
[gaim-migrate @ 13283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10274
diff
changeset
|
303 | c += 4; |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
304 | } |
|
16143
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
305 | else if (!g_ascii_strncasecmp(c + 1, "span", 4)) |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
306 | { |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
307 | /* Bi-directional text support using CSS properties in span tags */ |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
308 | c += 5; |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
309 | |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
310 | while (*c != '\0' && *c != '>') |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
311 | { |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
312 | while (*c == ' ') |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
313 | c++; |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
314 | if (!g_ascii_strncasecmp(c, "dir=\"rtl\"", 9)) |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
315 | { |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
316 | c += 9; |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
317 | direction = '1'; |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
318 | } |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
319 | else if (!g_ascii_strncasecmp(c, "style=\"", 7)) |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
320 | { |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
321 | /* Parse inline CSS attributes */ |
| 16144 | 322 | char *attributes; |
|
16143
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
323 | int attr_len = 0; |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
324 | c += 7; |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
325 | while (*(c + attr_len) != '\0' && *(c + attr_len) != '"') |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
326 | attr_len++; |
| 16144 | 327 | if (*(c + attr_len) == '"') |
|
16143
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
328 | { |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
329 | char *attr_dir; |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
330 | attributes = g_strndup(c, attr_len); |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
331 | attr_dir = purple_markup_get_css_property(attributes, "direction"); |
| 16144 | 332 | if (attr_dir && (!strncasecmp(attr_dir, "RTL", 3))) |
|
16143
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
333 | direction = '1'; |
| 16144 | 334 | g_free(attr_dir); |
| 335 | g_free(attributes); | |
|
16143
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
336 | } |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
337 | |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
338 | } |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
339 | else |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
340 | { |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
341 | c++; |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
342 | } |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
343 | } |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
344 | if (*c == '>') |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
345 | c++; |
|
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
346 | } |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
347 | else if (!g_ascii_strncasecmp(c + 1, "font", 4)) |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
348 | { |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
349 | c += 5; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
350 | |
|
11176
a7b860aa756e
[gaim-migrate @ 13283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10274
diff
changeset
|
351 | while ((*c != '\0') && !g_ascii_strncasecmp(c, " ", 1)) |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
352 | c++; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
353 | |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
354 | if (!g_ascii_strncasecmp(c, "color=\"#", 7)) |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
355 | { |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
356 | c += 8; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
357 | |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
358 | fontcolor[0] = *(c + 4); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
359 | fontcolor[1] = *(c + 5); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
360 | fontcolor[2] = *(c + 2); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
361 | fontcolor[3] = *(c + 3); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
362 | fontcolor[4] = *c; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
363 | fontcolor[5] = *(c + 1); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
364 | |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
365 | c += 8; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
366 | } |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
367 | else if (!g_ascii_strncasecmp(c, "face=\"", 6)) |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
368 | { |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
369 | const char *end = NULL; |
|
8921
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
370 | const char *comma = NULL; |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
371 | unsigned int namelen = 0; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
372 | |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
373 | c += 6; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
374 | end = strchr(c, '\"'); |
|
8921
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
375 | comma = strchr(c, ','); |
|
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
376 | |
|
9090
2c7655380bf5
[gaim-migrate @ 9867]
Christian Hammond <chipx86@chipx86.com>
parents:
8923
diff
changeset
|
377 | if (comma == NULL || comma > end) |
|
2c7655380bf5
[gaim-migrate @ 9867]
Christian Hammond <chipx86@chipx86.com>
parents:
8923
diff
changeset
|
378 | namelen = (unsigned int)(end - c); |
|
2c7655380bf5
[gaim-migrate @ 9867]
Christian Hammond <chipx86@chipx86.com>
parents:
8923
diff
changeset
|
379 | else |
|
2c7655380bf5
[gaim-migrate @ 9867]
Christian Hammond <chipx86@chipx86.com>
parents:
8923
diff
changeset
|
380 | namelen = (unsigned int)(comma - c); |
|
8921
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
381 | |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
382 | fontface = g_strndup(c, namelen); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
383 | c = end + 2; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
384 | } |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
385 | else |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
386 | { |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
387 | /* Drop all unrecognized/misparsed font tags */ |
|
11176
a7b860aa756e
[gaim-migrate @ 13283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10274
diff
changeset
|
388 | while ((*c != '\0') && g_ascii_strncasecmp(c, "\">", 2)) |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
389 | c++; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
390 | |
|
11176
a7b860aa756e
[gaim-migrate @ 13283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10274
diff
changeset
|
391 | if (*c != '\0') |
|
a7b860aa756e
[gaim-migrate @ 13283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10274
diff
changeset
|
392 | c += 2; |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
393 | } |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
394 | } |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
395 | else |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
396 | { |
|
11176
a7b860aa756e
[gaim-migrate @ 13283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10274
diff
changeset
|
397 | while ((*c != '\0') && (*c != '>')) |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
398 | c++; |
|
11176
a7b860aa756e
[gaim-migrate @ 13283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10274
diff
changeset
|
399 | if (*c != '\0') |
|
a7b860aa756e
[gaim-migrate @ 13283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10274
diff
changeset
|
400 | c++; |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
401 | } |
|
8921
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
402 | } |
|
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
403 | else if (*c == '&') |
|
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
404 | { |
|
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
405 | if (!g_ascii_strncasecmp(c, "<", 4)) |
|
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
406 | { |
| 8678 | 407 | msg[retcount++] = '<'; |
| 408 | c += 4; | |
|
8921
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
409 | } |
|
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
410 | else if (!g_ascii_strncasecmp(c, ">", 4)) |
|
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
411 | { |
| 8678 | 412 | msg[retcount++] = '>'; |
| 413 | c += 4; | |
|
8921
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
414 | } |
|
9264
082e824358cf
[gaim-migrate @ 10063]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9198
diff
changeset
|
415 | else if (!g_ascii_strncasecmp(c, " ", 6)) |
|
082e824358cf
[gaim-migrate @ 10063]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9198
diff
changeset
|
416 | { |
|
082e824358cf
[gaim-migrate @ 10063]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9198
diff
changeset
|
417 | msg[retcount++] = ' '; |
|
082e824358cf
[gaim-migrate @ 10063]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9198
diff
changeset
|
418 | c += 6; |
|
082e824358cf
[gaim-migrate @ 10063]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9198
diff
changeset
|
419 | } |
|
8921
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
420 | else if (!g_ascii_strncasecmp(c, """, 6)) |
|
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
421 | { |
| 8678 | 422 | msg[retcount++] = '"'; |
| 423 | c += 6; | |
|
8921
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
424 | } |
|
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
425 | else if (!g_ascii_strncasecmp(c, "&", 5)) |
|
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
426 | { |
| 8678 | 427 | msg[retcount++] = '&'; |
| 428 | c += 5; | |
| 429 | } | |
|
9264
082e824358cf
[gaim-migrate @ 10063]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9198
diff
changeset
|
430 | else if (!g_ascii_strncasecmp(c, "'", 6)) |
|
082e824358cf
[gaim-migrate @ 10063]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9198
diff
changeset
|
431 | { |
|
082e824358cf
[gaim-migrate @ 10063]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9198
diff
changeset
|
432 | msg[retcount++] = '\''; |
|
082e824358cf
[gaim-migrate @ 10063]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9198
diff
changeset
|
433 | c += 6; |
|
082e824358cf
[gaim-migrate @ 10063]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9198
diff
changeset
|
434 | } |
|
082e824358cf
[gaim-migrate @ 10063]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9198
diff
changeset
|
435 | else |
|
082e824358cf
[gaim-migrate @ 10063]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9198
diff
changeset
|
436 | msg[retcount++] = *c++; |
|
8921
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
437 | } |
|
5daa40528148
[gaim-migrate @ 9691]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8691
diff
changeset
|
438 | else |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
439 | msg[retcount++] = *c++; |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
440 | } |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
441 | |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
442 | if (fontface == NULL) |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
443 | fontface = g_strdup("MS Sans Serif"); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
444 | |
|
16143
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
445 | *attributes = g_strdup_printf("FN=%s; EF=%s; CO=%s; PF=0; RL=%c", |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
446 | encode_spaces(fontface), |
|
16143
6393e5b11ff5
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
15884
diff
changeset
|
447 | fonteffect, fontcolor, direction); |
|
8595
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
448 | *message = g_strdup(msg); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
449 | |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
450 | g_free(fontface); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
451 | g_free(msg); |
|
c751f6b0260e
[gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents:
8530
diff
changeset
|
452 | } |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
453 | |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
454 | void |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
455 | msn_parse_socket(const char *str, char **ret_host, int *ret_port) |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
456 | { |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
457 | char *host; |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
458 | char *c; |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
459 | int port; |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
460 | |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
461 | host = g_strdup(str); |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
462 | |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
463 | if ((c = strchr(host, ':')) != NULL){ |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
464 | *c = '\0'; |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
465 | port = atoi(c + 1); |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
466 | }else{ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
467 | port = 1863; |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
468 | } |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
469 | |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
470 | *ret_host = host; |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
471 | *ret_port = port; |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9090
diff
changeset
|
472 | } |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
473 | /*************************************************************************** |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
474 | * MSN Time Related Funciton |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
475 | ***************************************************************************/ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
476 | #if 0 |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
477 | int |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
478 | msn_convert_iso8601(const char *timestr,struct tm tm_time) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
479 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
480 | char temp[64]; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
481 | struct tm ctime; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
482 | time_t ts; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
483 | |
|
20486
26b9f3efe52d
The last of the merge fix-ups.
Richard Laager <rlaager@pidgin.im>
parents:
20485
diff
changeset
|
484 | purple_debug_info("MaYuan","convert string is{%s}\n",timestr); |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
485 | tzset(); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
486 | /*copy string first*/ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
487 | memset(temp, 0, sizeof(temp)); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
488 | strncpy(temp, timestr, strlen(timestr)); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
489 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
490 | /*convert via strptime()*/ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
491 | memset(&ctime, 0, sizeof(struct tm)); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
492 | strptime(temp, "%d %b %Y %T %Z", &ctime); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
493 | ts = mktime(&ctime) - timezone; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
494 | localtime_r(&ts, tm_time); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
495 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
496 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
497 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
498 | /*************************************************************************** |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
499 | * MSN Challenge Computing Function |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
500 | ***************************************************************************/ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
501 | /*check the edian of system*/ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
502 | int |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
503 | isBigEndian(void) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
504 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
505 | short int word = 0x0100; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
506 | char *byte = (char *)&word; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
507 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
508 | return(byte[0]); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
509 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
510 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
511 | /*swap utility*/ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
512 | unsigned int |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
513 | swapInt(unsigned int dw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
514 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
515 | unsigned int tmp; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
516 | tmp = (dw & 0x000000FF); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
517 | tmp = ((dw & 0x0000FF00) >> 0x08) | (tmp << 0x08); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
518 | tmp = ((dw & 0x00FF0000) >> 0x10) | (tmp << 0x08); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
519 | tmp = ((dw & 0xFF000000) >> 0x18) | (tmp << 0x08); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
520 | return(tmp); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
521 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
522 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
523 | /* |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
524 | * Handle MSN Chanllege computation |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
525 | *This algorithm reference with http://msnpiki.msnfanatic.com/index.php/MSNP11:Challenges |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
526 | */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
527 | #define BUFSIZE 256 |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
528 | void |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
529 | msn_handle_chl(char *input, char *output) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
530 | { |
|
20486
26b9f3efe52d
The last of the merge fix-ups.
Richard Laager <rlaager@pidgin.im>
parents:
20485
diff
changeset
|
531 | PurpleCipher *cipher; |
|
26b9f3efe52d
The last of the merge fix-ups.
Richard Laager <rlaager@pidgin.im>
parents:
20485
diff
changeset
|
532 | PurpleCipherContext *context; |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
533 | char *productKey = MSNP13_WLM_PRODUCT_KEY, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
534 | *productID = MSNP13_WLM_PRODUCT_ID, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
535 | *hexChars = "0123456789abcdef", |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
536 | buf[BUFSIZE]; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
537 | unsigned char md5Hash[16], *newHash; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
538 | unsigned int *md5Parts, *chlStringParts, newHashParts[5]; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
539 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
540 | long long nHigh=0, nLow=0; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
541 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
542 | int i, bigEndian; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
543 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
544 | /* Determine our endianess */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
545 | bigEndian = isBigEndian(); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
546 | |
|
20486
26b9f3efe52d
The last of the merge fix-ups.
Richard Laager <rlaager@pidgin.im>
parents:
20485
diff
changeset
|
547 | /* Create the MD5 hash by using Purple MD5 algorithm*/ |
|
26b9f3efe52d
The last of the merge fix-ups.
Richard Laager <rlaager@pidgin.im>
parents:
20485
diff
changeset
|
548 | cipher = purple_ciphers_find_cipher("md5"); |
|
26b9f3efe52d
The last of the merge fix-ups.
Richard Laager <rlaager@pidgin.im>
parents:
20485
diff
changeset
|
549 | context = purple_cipher_context_new(cipher, NULL); |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
550 | |
|
20486
26b9f3efe52d
The last of the merge fix-ups.
Richard Laager <rlaager@pidgin.im>
parents:
20485
diff
changeset
|
551 | purple_cipher_context_append(context, (const guchar *)input, |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
552 | strlen(input)); |
|
20486
26b9f3efe52d
The last of the merge fix-ups.
Richard Laager <rlaager@pidgin.im>
parents:
20485
diff
changeset
|
553 | purple_cipher_context_append(context, (const guchar *)productKey, |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
554 | strlen(productKey)); |
|
20486
26b9f3efe52d
The last of the merge fix-ups.
Richard Laager <rlaager@pidgin.im>
parents:
20485
diff
changeset
|
555 | purple_cipher_context_digest(context, sizeof(md5Hash), md5Hash, NULL); |
|
26b9f3efe52d
The last of the merge fix-ups.
Richard Laager <rlaager@pidgin.im>
parents:
20485
diff
changeset
|
556 | purple_cipher_context_destroy(context); |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
557 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
558 | /* Split it into four integers */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
559 | md5Parts = (unsigned int *)md5Hash; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
560 | for(i=0; i<4; i++){ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
561 | /* check for endianess */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
562 | if(bigEndian) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
563 | md5Parts[i] = swapInt(md5Parts[i]); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
564 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
565 | /* & each integer with 0x7FFFFFFF */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
566 | /* and save one unmodified array for later */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
567 | newHashParts[i] = md5Parts[i]; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
568 | md5Parts[i] &= 0x7FFFFFFF; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
569 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
570 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
571 | /* make a new string and pad with '0' */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
572 | snprintf(buf, BUFSIZE-5, "%s%s", input, productID); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
573 | i = strlen(buf); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
574 | memset(&buf[i], '0', 8 - (i % 8)); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
575 | buf[i + (8 - (i % 8))]='\0'; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
576 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
577 | /* split into integers */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
578 | chlStringParts = (unsigned int *)buf; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
579 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
580 | /* this is magic */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
581 | for (i=0; i<(strlen(buf)/4)-1; i+=2){ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
582 | long long temp; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
583 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
584 | if(bigEndian){ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
585 | chlStringParts[i] = swapInt(chlStringParts[i]); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
586 | chlStringParts[i+1] = swapInt(chlStringParts[i+1]); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
587 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
588 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
589 | temp=(md5Parts[0] * (((0x0E79A9C1 * (long long)chlStringParts[i]) % 0x7FFFFFFF)+nHigh) + md5Parts[1])%0x7FFFFFFF; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
590 | nHigh=(md5Parts[2] * (((long long)chlStringParts[i+1]+temp) % 0x7FFFFFFF) + md5Parts[3]) % 0x7FFFFFFF; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
591 | nLow=nLow + nHigh + temp; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
592 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
593 | nHigh=(nHigh+md5Parts[1]) % 0x7FFFFFFF; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
594 | nLow=(nLow+md5Parts[3]) % 0x7FFFFFFF; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
595 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
596 | newHashParts[0]^=nHigh; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
597 | newHashParts[1]^=nLow; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
598 | newHashParts[2]^=nHigh; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
599 | newHashParts[3]^=nLow; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
600 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
601 | /* swap more bytes if big endian */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
602 | for(i=0; i<4 && bigEndian; i++) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
603 | newHashParts[i] = swapInt(newHashParts[i]); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
604 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
605 | /* make a string of the parts */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
606 | newHash = (unsigned char *)newHashParts; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
607 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
608 | /* convert to hexadecimal */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
609 | for (i=0; i<16; i++) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
610 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
611 | output[i*2]=hexChars[(newHash[i]>>4)&0xF]; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
612 | output[(i*2)+1]=hexChars[newHash[i]&0xF]; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
613 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
614 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
615 | output[32]='\0'; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
616 | |
|
20486
26b9f3efe52d
The last of the merge fix-ups.
Richard Laager <rlaager@pidgin.im>
parents:
20485
diff
changeset
|
617 | // purple_debug_info("MaYuan","chl output{%s}\n",output); |
|
20483
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
618 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
619 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
620 | #if (!defined(_XOPEN_SOURCE))||defined(_WIN32) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
621 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
622 | #ifndef __P |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
623 | # if defined (__GNUC__) || (defined (__STDC__) && __STDC__) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
624 | # define __P(args) args |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
625 | # else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
626 | # define __P(args) () |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
627 | # endif /* GCC. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
628 | #endif /* Not __P. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
629 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
630 | #if defined(HAVE_LOCALTIME_R) && ! HAVE_LOCALTIME_R && ! defined localtime_r |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
631 | # ifdef _LIBC |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
632 | # define localtime_r __localtime_r |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
633 | # else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
634 | /* Approximate localtime_r as best we can in its absence. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
635 | # define localtime_r my_localtime_r |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
636 | static struct tm *localtime_r __P ((const time_t *, struct tm *)); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
637 | static struct tm * |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
638 | localtime_r (t, tp) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
639 | const time_t *t; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
640 | struct tm *tp; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
641 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
642 | struct tm *l = localtime (t); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
643 | if (! l) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
644 | return 0; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
645 | *tp = *l; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
646 | return tp; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
647 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
648 | # endif /* ! _LIBC */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
649 | #endif /* ! HAVE_LOCALTIME_R && ! defined (localtime_r) */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
650 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
651 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
652 | #define match_char(ch1, ch2) if (ch1 != ch2) return NULL |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
653 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
654 | #if defined __GNUC__ && __GNUC__ >= 2 |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
655 | # define match_string(cs1, s2) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
656 | ({ size_t len = strlen (cs1); \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
657 | int result = strncasecmp ((cs1), (s2), len) == 0; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
658 | if (result) (s2) += len; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
659 | result; }) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
660 | #else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
661 | /* Oh come on. Get a reasonable compiler. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
662 | # define match_string(cs1, s2) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
663 | (strncasecmp ((cs1), (s2), strlen (cs1)) ? 0 : ((s2) += strlen (cs1), 1)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
664 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
665 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
666 | /* We intentionally do not use isdigit() for testing because this will |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
667 | lead to problems with the wide character version. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
668 | #define get_number(from, to, n) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
669 | do { \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
670 | int __n = n; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
671 | val = 0; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
672 | while (*rp == ' ') \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
673 | ++rp; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
674 | if ((*rp < '0') || (*rp > '9')) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
675 | return NULL; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
676 | do { \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
677 | val *= 10; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
678 | val += *rp++ - '0'; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
679 | } while ((--__n > 0) && (val * 10 <= to) && (*rp >= '0') && (*rp <= '9')); \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
680 | if ((val < from) || (val > to)) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
681 | return NULL; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
682 | } while (0) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
683 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
684 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
685 | # define get_alt_number(from, to, n) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
686 | ({ \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
687 | __label__ do_normal; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
688 | if (*decided != raw) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
689 | { \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
690 | const char *alts = _NL_CURRENT (LC_TIME, ALT_DIGITS); \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
691 | int __n = n; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
692 | int any = 0; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
693 | while (*rp == ' ') \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
694 | ++rp; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
695 | val = 0; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
696 | do { \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
697 | val *= 10; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
698 | while (*alts != '\0') \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
699 | { \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
700 | size_t len = strlen (alts); \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
701 | if (strncasecmp (alts, rp, len) == 0) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
702 | break; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
703 | alts += len + 1; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
704 | ++val; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
705 | } \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
706 | if (*alts == '\0') \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
707 | { \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
708 | if (*decided == not && ! any) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
709 | goto do_normal; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
710 | /* If we haven't read anything it's an error. */ \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
711 | if (! any) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
712 | return NULL; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
713 | /* Correct the premature multiplication. */ \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
714 | val /= 10; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
715 | break; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
716 | } \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
717 | else \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
718 | *decided = loc; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
719 | } while (--__n > 0 && val * 10 <= to); \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
720 | if (val < from || val > to) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
721 | return NULL; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
722 | } \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
723 | else \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
724 | { \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
725 | do_normal: \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
726 | get_number (from, to, n); \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
727 | } \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
728 | 0; \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
729 | }) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
730 | #else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
731 | # define get_alt_number(from, to, n) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
732 | /* We don't have the alternate representation. */ \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
733 | get_number(from, to, n) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
734 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
735 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
736 | #define recursive(new_fmt) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
737 | (*(new_fmt) != '\0' \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
738 | && (rp = strptime_internal (rp, (new_fmt), tm, decided, era_cnt)) != NULL) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
739 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
740 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
741 | #ifdef _LIBC |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
742 | /* This is defined in locale/C-time.c in the GNU libc. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
743 | extern const struct locale_data _nl_C_LC_TIME; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
744 | extern const unsigned short int __mon_yday[2][13]; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
745 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
746 | # define weekday_name (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (DAY_1)].string) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
747 | # define ab_weekday_name \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
748 | (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (ABDAY_1)].string) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
749 | # define month_name (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (MON_1)].string) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
750 | # define ab_month_name (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (ABMON_1)].string) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
751 | # define HERE_D_T_FMT (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (D_T_FMT)].string) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
752 | # define HERE_D_FMT (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (D_FMT)].string) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
753 | # define HERE_AM_STR (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (AM_STR)].string) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
754 | # define HERE_PM_STR (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (PM_STR)].string) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
755 | # define HERE_T_FMT_AMPM \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
756 | (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (T_FMT_AMPM)].string) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
757 | # define HERE_T_FMT (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (T_FMT)].string) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
758 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
759 | # define strncasecmp(s1, s2, n) __strncasecmp (s1, s2, n) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
760 | #else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
761 | static char const weekday_name[][10] = |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
762 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
763 | "Sunday", "Monday", "Tuesday", "Wednesday", |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
764 | "Thursday", "Friday", "Saturday" |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
765 | }; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
766 | static char const ab_weekday_name[][4] = |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
767 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
768 | "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
769 | }; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
770 | static char const month_name[][10] = |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
771 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
772 | "January", "February", "March", "April", "May", "June", |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
773 | "July", "August", "September", "October", "November", "December" |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
774 | }; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
775 | static char const ab_month_name[][4] = |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
776 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
777 | "Jan", "Feb", "Mar", "Apr", "May", "Jun", |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
778 | "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
779 | }; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
780 | # define HERE_D_T_FMT "%a %b %e %H:%M:%S %Y" |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
781 | # define HERE_D_FMT "%m/%d/%y" |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
782 | # define HERE_AM_STR "AM" |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
783 | # define HERE_PM_STR "PM" |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
784 | # define HERE_T_FMT_AMPM "%I:%M:%S %p" |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
785 | # define HERE_T_FMT "%H:%M:%S" |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
786 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
787 | const unsigned short int __mon_yday[2][13] = |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
788 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
789 | /* Normal years. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
790 | { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 }, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
791 | /* Leap years. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
792 | { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
793 | }; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
794 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
795 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
796 | /* Status of lookup: do we use the locale data or the raw data? */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
797 | enum locale_status { not, loc, raw }; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
798 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
799 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
800 | #ifndef __isleap |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
801 | /* Nonzero if YEAR is a leap year (every 4 years, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
802 | except every 100th isn't, and every 400th is). */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
803 | # define __isleap(year) \ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
804 | ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
805 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
806 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
807 | /* Compute the day of the week. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
808 | static void |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
809 | day_of_the_week (struct tm *tm) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
810 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
811 | /* We know that January 1st 1970 was a Thursday (= 4). Compute the |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
812 | the difference between this data in the one on TM and so determine |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
813 | the weekday. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
814 | int corr_year = 1900 + tm->tm_year - (tm->tm_mon < 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
815 | int wday = (-473 |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
816 | + (365 * (tm->tm_year - 70)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
817 | + (corr_year / 4) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
818 | - ((corr_year / 4) / 25) + ((corr_year / 4) % 25 < 0) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
819 | + (((corr_year / 4) / 25) / 4) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
820 | + __mon_yday[0][tm->tm_mon] |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
821 | + tm->tm_mday - 1); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
822 | tm->tm_wday = ((wday % 7) + 7) % 7; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
823 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
824 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
825 | /* Compute the day of the year. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
826 | static void |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
827 | day_of_the_year (struct tm *tm) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
828 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
829 | tm->tm_yday = (__mon_yday[__isleap (1900 + tm->tm_year)][tm->tm_mon] |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
830 | + (tm->tm_mday - 1)); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
831 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
832 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
833 | static char * |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
834 | #ifdef _LIBC |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
835 | internal_function |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
836 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
837 | strptime_internal __P ((const char *rp, const char *fmt, struct tm *tm, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
838 | enum locale_status *decided, int era_cnt)); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
839 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
840 | static char * |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
841 | #ifdef _LIBC |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
842 | internal_function |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
843 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
844 | strptime_internal (rp, fmt, tm, decided, era_cnt) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
845 | const char *rp; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
846 | const char *fmt; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
847 | struct tm *tm; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
848 | enum locale_status *decided; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
849 | int era_cnt; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
850 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
851 | const char *rp_backup; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
852 | int cnt; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
853 | size_t val; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
854 | int have_I, is_pm; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
855 | int century, want_century; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
856 | int want_era; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
857 | int have_wday, want_xday; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
858 | int have_yday; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
859 | int have_mon, have_mday; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
860 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
861 | size_t num_eras; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
862 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
863 | struct era_entry *era; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
864 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
865 | have_I = is_pm = 0; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
866 | century = -1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
867 | want_century = 0; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
868 | want_era = 0; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
869 | era = NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
870 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
871 | have_wday = want_xday = have_yday = have_mon = have_mday = 0; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
872 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
873 | while (*fmt != '\0') |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
874 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
875 | /* A white space in the format string matches 0 more or white |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
876 | space in the input string. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
877 | if (isspace (*fmt)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
878 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
879 | while (isspace (*rp)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
880 | ++rp; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
881 | ++fmt; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
882 | continue; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
883 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
884 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
885 | /* Any character but `%' must be matched by the same character |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
886 | in the iput string. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
887 | if (*fmt != '%') |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
888 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
889 | match_char (*fmt++, *rp++); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
890 | continue; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
891 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
892 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
893 | ++fmt; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
894 | #ifndef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
895 | /* We need this for handling the `E' modifier. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
896 | start_over: |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
897 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
898 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
899 | /* Make back up of current processing pointer. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
900 | rp_backup = rp; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
901 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
902 | switch (*fmt++) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
903 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
904 | case '%': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
905 | /* Match the `%' character itself. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
906 | match_char ('%', *rp++); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
907 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
908 | case 'a': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
909 | case 'A': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
910 | /* Match day of week. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
911 | for (cnt = 0; cnt < 7; ++cnt) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
912 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
913 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
914 | if (*decided !=raw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
915 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
916 | if (match_string (_NL_CURRENT (LC_TIME, DAY_1 + cnt), rp)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
917 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
918 | if (*decided == not |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
919 | && strcmp (_NL_CURRENT (LC_TIME, DAY_1 + cnt), |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
920 | weekday_name[cnt])) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
921 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
922 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
923 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
924 | if (match_string (_NL_CURRENT (LC_TIME, ABDAY_1 + cnt), rp)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
925 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
926 | if (*decided == not |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
927 | && strcmp (_NL_CURRENT (LC_TIME, ABDAY_1 + cnt), |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
928 | ab_weekday_name[cnt])) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
929 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
930 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
931 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
932 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
933 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
934 | if (*decided != loc |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
935 | && (match_string (weekday_name[cnt], rp) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
936 | || match_string (ab_weekday_name[cnt], rp))) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
937 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
938 | *decided = raw; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
939 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
940 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
941 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
942 | if (cnt == 7) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
943 | /* Does not match a weekday name. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
944 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
945 | tm->tm_wday = cnt; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
946 | have_wday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
947 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
948 | case 'b': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
949 | case 'B': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
950 | case 'h': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
951 | /* Match month name. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
952 | for (cnt = 0; cnt < 12; ++cnt) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
953 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
954 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
955 | if (*decided !=raw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
956 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
957 | if (match_string (_NL_CURRENT (LC_TIME, MON_1 + cnt), rp)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
958 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
959 | if (*decided == not |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
960 | && strcmp (_NL_CURRENT (LC_TIME, MON_1 + cnt), |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
961 | month_name[cnt])) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
962 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
963 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
964 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
965 | if (match_string (_NL_CURRENT (LC_TIME, ABMON_1 + cnt), rp)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
966 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
967 | if (*decided == not |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
968 | && strcmp (_NL_CURRENT (LC_TIME, ABMON_1 + cnt), |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
969 | ab_month_name[cnt])) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
970 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
971 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
972 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
973 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
974 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
975 | if (match_string (month_name[cnt], rp) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
976 | || match_string (ab_month_name[cnt], rp)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
977 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
978 | *decided = raw; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
979 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
980 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
981 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
982 | if (cnt == 12) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
983 | /* Does not match a month name. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
984 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
985 | tm->tm_mon = cnt; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
986 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
987 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
988 | case 'c': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
989 | /* Match locale's date and time format. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
990 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
991 | if (*decided != raw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
992 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
993 | if (!recursive (_NL_CURRENT (LC_TIME, D_T_FMT))) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
994 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
995 | if (*decided == loc) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
996 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
997 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
998 | rp = rp_backup; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
999 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1000 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1001 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1002 | if (*decided == not && |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1003 | strcmp (_NL_CURRENT (LC_TIME, D_T_FMT), HERE_D_T_FMT)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1004 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1005 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1006 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1007 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1008 | *decided = raw; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1009 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1010 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1011 | if (!recursive (HERE_D_T_FMT)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1012 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1013 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1014 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1015 | case 'C': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1016 | /* Match century number. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1017 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1018 | match_century: |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1019 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1020 | get_number (0, 99, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1021 | century = val; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1022 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1023 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1024 | case 'd': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1025 | case 'e': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1026 | /* Match day of month. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1027 | get_number (1, 31, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1028 | tm->tm_mday = val; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1029 | have_mday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1030 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1031 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1032 | case 'F': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1033 | if (!recursive ("%Y-%m-%d")) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1034 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1035 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1036 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1037 | case 'x': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1038 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1039 | if (*decided != raw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1040 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1041 | if (!recursive (_NL_CURRENT (LC_TIME, D_FMT))) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1042 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1043 | if (*decided == loc) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1044 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1045 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1046 | rp = rp_backup; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1047 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1048 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1049 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1050 | if (*decided == not |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1051 | && strcmp (_NL_CURRENT (LC_TIME, D_FMT), HERE_D_FMT)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1052 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1053 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1054 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1055 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1056 | *decided = raw; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1057 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1058 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1059 | /* Fall through. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1060 | case 'D': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1061 | /* Match standard day format. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1062 | if (!recursive (HERE_D_FMT)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1063 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1064 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1065 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1066 | case 'k': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1067 | case 'H': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1068 | /* Match hour in 24-hour clock. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1069 | get_number (0, 23, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1070 | tm->tm_hour = val; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1071 | have_I = 0; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1072 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1073 | case 'I': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1074 | /* Match hour in 12-hour clock. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1075 | get_number (1, 12, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1076 | tm->tm_hour = val % 12; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1077 | have_I = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1078 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1079 | case 'j': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1080 | /* Match day number of year. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1081 | get_number (1, 366, 3); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1082 | tm->tm_yday = val - 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1083 | have_yday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1084 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1085 | case 'm': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1086 | /* Match number of month. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1087 | get_number (1, 12, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1088 | tm->tm_mon = val - 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1089 | have_mon = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1090 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1091 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1092 | case 'M': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1093 | /* Match minute. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1094 | get_number (0, 59, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1095 | tm->tm_min = val; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1096 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1097 | case 'n': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1098 | case 't': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1099 | /* Match any white space. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1100 | while (isspace (*rp)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1101 | ++rp; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1102 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1103 | case 'p': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1104 | /* Match locale's equivalent of AM/PM. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1105 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1106 | if (*decided != raw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1107 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1108 | if (match_string (_NL_CURRENT (LC_TIME, AM_STR), rp)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1109 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1110 | if (strcmp (_NL_CURRENT (LC_TIME, AM_STR), HERE_AM_STR)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1111 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1112 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1113 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1114 | if (match_string (_NL_CURRENT (LC_TIME, PM_STR), rp)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1115 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1116 | if (strcmp (_NL_CURRENT (LC_TIME, PM_STR), HERE_PM_STR)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1117 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1118 | is_pm = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1119 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1120 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1121 | *decided = raw; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1122 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1123 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1124 | if (!match_string (HERE_AM_STR, rp)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1125 | if (match_string (HERE_PM_STR, rp)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1126 | is_pm = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1127 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1128 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1129 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1130 | case 'r': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1131 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1132 | if (*decided != raw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1133 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1134 | if (!recursive (_NL_CURRENT (LC_TIME, T_FMT_AMPM))) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1135 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1136 | if (*decided == loc) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1137 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1138 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1139 | rp = rp_backup; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1140 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1141 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1142 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1143 | if (*decided == not && |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1144 | strcmp (_NL_CURRENT (LC_TIME, T_FMT_AMPM), |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1145 | HERE_T_FMT_AMPM)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1146 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1147 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1148 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1149 | *decided = raw; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1150 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1151 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1152 | if (!recursive (HERE_T_FMT_AMPM)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1153 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1154 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1155 | case 'R': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1156 | if (!recursive ("%H:%M")) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1157 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1158 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1159 | case 's': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1160 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1161 | /* The number of seconds may be very high so we cannot use |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1162 | the `get_number' macro. Instead read the number |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1163 | character for character and construct the result while |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1164 | doing this. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1165 | time_t secs = 0; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1166 | if (*rp < '0' || *rp > '9') |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1167 | /* We need at least one digit. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1168 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1169 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1170 | do |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1171 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1172 | secs *= 10; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1173 | secs += *rp++ - '0'; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1174 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1175 | while (*rp >= '0' && *rp <= '9'); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1176 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1177 | if (localtime_r (&secs, tm) == NULL) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1178 | /* Error in function. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1179 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1180 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1181 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1182 | case 'S': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1183 | get_number (0, 61, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1184 | tm->tm_sec = val; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1185 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1186 | case 'X': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1187 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1188 | if (*decided != raw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1189 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1190 | if (!recursive (_NL_CURRENT (LC_TIME, T_FMT))) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1191 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1192 | if (*decided == loc) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1193 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1194 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1195 | rp = rp_backup; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1196 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1197 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1198 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1199 | if (strcmp (_NL_CURRENT (LC_TIME, T_FMT), HERE_T_FMT)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1200 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1201 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1202 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1203 | *decided = raw; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1204 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1205 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1206 | /* Fall through. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1207 | case 'T': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1208 | if (!recursive (HERE_T_FMT)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1209 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1210 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1211 | case 'u': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1212 | get_number (1, 7, 1); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1213 | tm->tm_wday = val % 7; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1214 | have_wday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1215 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1216 | case 'g': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1217 | get_number (0, 99, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1218 | /* XXX This cannot determine any field in TM. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1219 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1220 | case 'G': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1221 | if (*rp < '0' || *rp > '9') |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1222 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1223 | /* XXX Ignore the number since we would need some more |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1224 | information to compute a real date. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1225 | do |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1226 | ++rp; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1227 | while (*rp >= '0' && *rp <= '9'); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1228 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1229 | case 'U': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1230 | case 'V': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1231 | case 'W': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1232 | get_number (0, 53, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1233 | /* XXX This cannot determine any field in TM without some |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1234 | information. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1235 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1236 | case 'w': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1237 | /* Match number of weekday. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1238 | get_number (0, 6, 1); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1239 | tm->tm_wday = val; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1240 | have_wday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1241 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1242 | case 'y': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1243 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1244 | match_year_in_century: |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1245 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1246 | /* Match year within century. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1247 | get_number (0, 99, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1248 | /* The "Year 2000: The Millennium Rollover" paper suggests that |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1249 | values in the range 69-99 refer to the twentieth century. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1250 | tm->tm_year = val >= 69 ? val : val + 100; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1251 | /* Indicate that we want to use the century, if specified. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1252 | want_century = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1253 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1254 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1255 | case 'Y': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1256 | /* Match year including century number. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1257 | get_number (0, 9999, 4); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1258 | tm->tm_year = val - 1900; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1259 | want_century = 0; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1260 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1261 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1262 | case 'Z': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1263 | /* XXX How to handle this? */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1264 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1265 | case 'E': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1266 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1267 | switch (*fmt++) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1268 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1269 | case 'c': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1270 | /* Match locale's alternate date and time format. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1271 | if (*decided != raw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1272 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1273 | const char *fmt = _NL_CURRENT (LC_TIME, ERA_D_T_FMT); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1274 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1275 | if (*fmt == '\0') |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1276 | fmt = _NL_CURRENT (LC_TIME, D_T_FMT); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1277 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1278 | if (!recursive (fmt)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1279 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1280 | if (*decided == loc) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1281 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1282 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1283 | rp = rp_backup; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1284 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1285 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1286 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1287 | if (strcmp (fmt, HERE_D_T_FMT)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1288 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1289 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1290 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1291 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1292 | *decided = raw; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1293 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1294 | /* The C locale has no era information, so use the |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1295 | normal representation. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1296 | if (!recursive (HERE_D_T_FMT)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1297 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1298 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1299 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1300 | case 'C': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1301 | if (*decided != raw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1302 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1303 | if (era_cnt >= 0) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1304 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1305 | era = _nl_select_era_entry (era_cnt); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1306 | if (match_string (era->era_name, rp)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1307 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1308 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1309 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1310 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1311 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1312 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1313 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1314 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1315 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1316 | num_eras = _NL_CURRENT_WORD (LC_TIME, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1317 | _NL_TIME_ERA_NUM_ENTRIES); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1318 | for (era_cnt = 0; era_cnt < (int) num_eras; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1319 | ++era_cnt, rp = rp_backup) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1320 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1321 | era = _nl_select_era_entry (era_cnt); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1322 | if (match_string (era->era_name, rp)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1323 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1324 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1325 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1326 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1327 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1328 | if (era_cnt == (int) num_eras) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1329 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1330 | era_cnt = -1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1331 | if (*decided == loc) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1332 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1333 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1334 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1335 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1336 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1337 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1338 | *decided = raw; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1339 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1340 | /* The C locale has no era information, so use the |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1341 | normal representation. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1342 | goto match_century; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1343 | case 'y': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1344 | if (*decided == raw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1345 | goto match_year_in_century; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1346 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1347 | get_number(0, 9999, 4); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1348 | tm->tm_year = val; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1349 | want_era = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1350 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1351 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1352 | case 'Y': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1353 | if (*decided != raw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1354 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1355 | num_eras = _NL_CURRENT_WORD (LC_TIME, |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1356 | _NL_TIME_ERA_NUM_ENTRIES); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1357 | for (era_cnt = 0; era_cnt < (int) num_eras; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1358 | ++era_cnt, rp = rp_backup) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1359 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1360 | era = _nl_select_era_entry (era_cnt); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1361 | if (recursive (era->era_format)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1362 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1363 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1364 | if (era_cnt == (int) num_eras) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1365 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1366 | era_cnt = -1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1367 | if (*decided == loc) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1368 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1369 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1370 | rp = rp_backup; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1371 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1372 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1373 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1374 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1375 | era_cnt = -1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1376 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1377 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1378 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1379 | *decided = raw; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1380 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1381 | get_number (0, 9999, 4); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1382 | tm->tm_year = val - 1900; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1383 | want_century = 0; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1384 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1385 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1386 | case 'x': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1387 | if (*decided != raw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1388 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1389 | const char *fmt = _NL_CURRENT (LC_TIME, ERA_D_FMT); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1390 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1391 | if (*fmt == '\0') |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1392 | fmt = _NL_CURRENT (LC_TIME, D_FMT); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1393 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1394 | if (!recursive (fmt)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1395 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1396 | if (*decided == loc) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1397 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1398 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1399 | rp = rp_backup; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1400 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1401 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1402 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1403 | if (strcmp (fmt, HERE_D_FMT)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1404 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1405 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1406 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1407 | *decided = raw; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1408 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1409 | if (!recursive (HERE_D_FMT)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1410 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1411 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1412 | case 'X': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1413 | if (*decided != raw) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1414 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1415 | const char *fmt = _NL_CURRENT (LC_TIME, ERA_T_FMT); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1416 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1417 | if (*fmt == '\0') |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1418 | fmt = _NL_CURRENT (LC_TIME, T_FMT); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1419 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1420 | if (!recursive (fmt)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1421 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1422 | if (*decided == loc) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1423 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1424 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1425 | rp = rp_backup; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1426 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1427 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1428 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1429 | if (strcmp (fmt, HERE_T_FMT)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1430 | *decided = loc; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1431 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1432 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1433 | *decided = raw; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1434 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1435 | if (!recursive (HERE_T_FMT)) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1436 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1437 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1438 | default: |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1439 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1440 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1441 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1442 | #else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1443 | /* We have no information about the era format. Just use |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1444 | the normal format. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1445 | if (*fmt != 'c' && *fmt != 'C' && *fmt != 'y' && *fmt != 'Y' |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1446 | && *fmt != 'x' && *fmt != 'X') |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1447 | /* This is an illegal format. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1448 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1449 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1450 | goto start_over; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1451 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1452 | case 'O': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1453 | switch (*fmt++) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1454 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1455 | case 'd': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1456 | case 'e': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1457 | /* Match day of month using alternate numeric symbols. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1458 | get_alt_number (1, 31, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1459 | tm->tm_mday = val; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1460 | have_mday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1461 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1462 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1463 | case 'H': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1464 | /* Match hour in 24-hour clock using alternate numeric |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1465 | symbols. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1466 | get_alt_number (0, 23, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1467 | tm->tm_hour = val; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1468 | have_I = 0; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1469 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1470 | case 'I': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1471 | /* Match hour in 12-hour clock using alternate numeric |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1472 | symbols. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1473 | get_alt_number (1, 12, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1474 | tm->tm_hour = val - 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1475 | have_I = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1476 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1477 | case 'm': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1478 | /* Match month using alternate numeric symbols. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1479 | get_alt_number (1, 12, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1480 | tm->tm_mon = val - 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1481 | have_mon = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1482 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1483 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1484 | case 'M': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1485 | /* Match minutes using alternate numeric symbols. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1486 | get_alt_number (0, 59, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1487 | tm->tm_min = val; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1488 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1489 | case 'S': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1490 | /* Match seconds using alternate numeric symbols. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1491 | get_alt_number (0, 61, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1492 | tm->tm_sec = val; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1493 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1494 | case 'U': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1495 | case 'V': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1496 | case 'W': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1497 | get_alt_number (0, 53, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1498 | /* XXX This cannot determine any field in TM without |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1499 | further information. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1500 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1501 | case 'w': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1502 | /* Match number of weekday using alternate numeric symbols. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1503 | get_alt_number (0, 6, 1); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1504 | tm->tm_wday = val; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1505 | have_wday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1506 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1507 | case 'y': |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1508 | /* Match year within century using alternate numeric symbols. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1509 | get_alt_number (0, 99, 2); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1510 | tm->tm_year = val >= 69 ? val : val + 100; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1511 | want_xday = 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1512 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1513 | default: |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1514 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1515 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1516 | break; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1517 | default: |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1518 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1519 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1520 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1521 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1522 | if (have_I && is_pm) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1523 | tm->tm_hour += 12; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1524 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1525 | if (century != -1) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1526 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1527 | if (want_century) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1528 | tm->tm_year = tm->tm_year % 100 + (century - 19) * 100; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1529 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1530 | /* Only the century, but not the year. Strange, but so be it. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1531 | tm->tm_year = (century - 19) * 100; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1532 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1533 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1534 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1535 | if (era_cnt != -1) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1536 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1537 | era = _nl_select_era_entry(era_cnt); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1538 | if (want_era) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1539 | tm->tm_year = (era->start_date[0] |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1540 | + ((tm->tm_year - era->offset) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1541 | * era->absolute_direction)); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1542 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1543 | /* Era start year assumed. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1544 | tm->tm_year = era->start_date[0]; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1545 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1546 | else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1547 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1548 | if (want_era) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1549 | return NULL; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1550 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1551 | if (want_xday && !have_wday) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1552 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1553 | if ( !(have_mon && have_mday) && have_yday) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1554 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1555 | /* We don't have tm_mon and/or tm_mday, compute them. */ |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1556 | int t_mon = 0; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1557 | while (__mon_yday[__isleap(1900 + tm->tm_year)][t_mon] <= tm->tm_yday) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1558 | t_mon++; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1559 | if (!have_mon) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1560 | tm->tm_mon = t_mon - 1; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1561 | if (!have_mday) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1562 | tm->tm_mday = |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1563 | (tm->tm_yday |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1564 | - __mon_yday[__isleap(1900 + tm->tm_year)][t_mon - 1] + 1); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1565 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1566 | day_of_the_week (tm); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1567 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1568 | if (want_xday && !have_yday) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1569 | day_of_the_year (tm); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1570 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1571 | return (char *) rp; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1572 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1573 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1574 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1575 | char * |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1576 | msn_strptime (buf, format, tm) |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1577 | const char *buf; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1578 | const char *format; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1579 | struct tm *tm; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1580 | { |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1581 | enum locale_status decided; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1582 | |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1583 | #ifdef _NL_CURRENT |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1584 | decided = not; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1585 | #else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1586 | decided = raw; |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1587 | #endif |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1588 | return strptime_internal (buf, format, tm, &decided, -1); |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1589 | } |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1590 | #else |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1591 | #define msn_strptime strptime |
|
45d3a4773e1b
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4' (head cd47bac1af94287a1145874b9ed7a153fd1fb8bd)
Richard Laager <rlaager@pidgin.im>
parents:
16144
diff
changeset
|
1592 | #endif |