Mercurial > pidgin
comparison libpurple/plugins/log_reader.c @ 20909:feca1fd51b57
Use functions and loops and all those fancy things.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Fri, 12 Oct 2007 22:12:29 +0000 |
parents | 70082d0db571 |
children | 54d232b52607 |
comparison
equal
deleted
inserted
replaced
20908:9ec0382e6c8d | 20909:feca1fd51b57 |
---|---|
25 enum name_guesses { | 25 enum name_guesses { |
26 NAME_GUESS_UNKNOWN, | 26 NAME_GUESS_UNKNOWN, |
27 NAME_GUESS_ME, | 27 NAME_GUESS_ME, |
28 NAME_GUESS_THEM | 28 NAME_GUESS_THEM |
29 }; | 29 }; |
30 | |
31 /* Some common functions. */ | |
32 static int get_month(const char *month) | |
33 { | |
34 int iter; | |
35 const char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", | |
36 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", NULL}; | |
37 for (iter = 0; months[iter]; iter++) { | |
38 if (strcmp(month, months[iter]) == 0) | |
39 break; | |
40 } | |
41 return iter; | |
42 } | |
30 | 43 |
31 | 44 |
32 /***************************************************************************** | 45 /***************************************************************************** |
33 * Adium Logger * | 46 * Adium Logger * |
34 *****************************************************************************/ | 47 *****************************************************************************/ |
1346 | 1359 |
1347 /* Let the C library deal with | 1360 /* Let the C library deal with |
1348 * daylight savings time. | 1361 * daylight savings time. |
1349 */ | 1362 */ |
1350 tm.tm_isdst = -1; | 1363 tm.tm_isdst = -1; |
1351 | 1364 tm.tm_mon = get_month(month); |
1352 /* Ugly hack, in case current locale | |
1353 * is not English. This code is taken | |
1354 * from log.c. | |
1355 */ | |
1356 if (strcmp(month, "Jan") == 0) { | |
1357 tm.tm_mon= 0; | |
1358 } else if (strcmp(month, "Feb") == 0) { | |
1359 tm.tm_mon = 1; | |
1360 } else if (strcmp(month, "Mar") == 0) { | |
1361 tm.tm_mon = 2; | |
1362 } else if (strcmp(month, "Apr") == 0) { | |
1363 tm.tm_mon = 3; | |
1364 } else if (strcmp(month, "May") == 0) { | |
1365 tm.tm_mon = 4; | |
1366 } else if (strcmp(month, "Jun") == 0) { | |
1367 tm.tm_mon = 5; | |
1368 } else if (strcmp(month, "Jul") == 0) { | |
1369 tm.tm_mon = 6; | |
1370 } else if (strcmp(month, "Aug") == 0) { | |
1371 tm.tm_mon = 7; | |
1372 } else if (strcmp(month, "Sep") == 0) { | |
1373 tm.tm_mon = 8; | |
1374 } else if (strcmp(month, "Oct") == 0) { | |
1375 tm.tm_mon = 9; | |
1376 } else if (strcmp(month, "Nov") == 0) { | |
1377 tm.tm_mon = 10; | |
1378 } else if (strcmp(month, "Dec") == 0) { | |
1379 tm.tm_mon = 11; | |
1380 } | |
1381 | 1365 |
1382 data = g_new0( | 1366 data = g_new0( |
1383 struct trillian_logger_data, 1); | 1367 struct trillian_logger_data, 1); |
1384 data->path = g_strdup(path); | 1368 data->path = g_strdup(path); |
1385 data->offset = offset; | 1369 data->offset = offset; |
2224 found_start = FALSE; | 2208 found_start = FALSE; |
2225 purple_debug_error("aMSN logger", | 2209 purple_debug_error("aMSN logger", |
2226 "Error parsing start date for %s\n", | 2210 "Error parsing start date for %s\n", |
2227 filename); | 2211 filename); |
2228 } else { | 2212 } else { |
2229 const char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", | |
2230 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", NULL}; | |
2231 tm.tm_year -= 1900; | 2213 tm.tm_year -= 1900; |
2232 | 2214 |
2233 /* Let the C library deal with | 2215 /* Let the C library deal with |
2234 * daylight savings time. | 2216 * daylight savings time. |
2235 */ | 2217 */ |
2236 tm.tm_isdst = -1; | 2218 tm.tm_isdst = -1; |
2237 | 2219 tm.tm_mon = get_month(month); |
2238 /* Ugly hack, in case current locale | 2220 |
2239 * is not English. This code is taken | |
2240 * from log.c. | |
2241 */ | |
2242 for (tm.tm_mon = 0; months[tm.tm_mon]; tm.tm_mon++) { | |
2243 if (strcmp(month, months[tm.tm_mon]) == 0) | |
2244 break; | |
2245 } | |
2246 found_start = TRUE; | 2221 found_start = TRUE; |
2247 offset = c - contents; | 2222 offset = c - contents; |
2248 start_log = c; | 2223 start_log = c; |
2249 } | 2224 } |
2250 } else if (purple_str_has_prefix(c, AMSN_LOG_CONV_END) && found_start) { | 2225 } else if (purple_str_has_prefix(c, AMSN_LOG_CONV_END) && found_start) { |