Changeset 424e663
- Timestamp:
- 2008-06-22T09:32:46Z (17 years ago)
- Branches:
- master
- Children:
- fb4e9a3f
- Parents:
- 98de2cc
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/misc.c
r98de2cc r424e663 60 60 strcpy(text, text2); 61 61 g_free(text2); 62 }63 64 char *normalize(const char *s)65 {66 static char buf[BUF_LEN];67 char *t, *u;68 int x = 0;69 70 g_return_val_if_fail((s != NULL), NULL);71 72 u = t = g_strdup(s);73 74 strcpy(t, s);75 g_strdown(t);76 77 while (*t && (x < BUF_LEN - 1)) {78 if (*t != ' ') {79 buf[x] = *t;80 x++;81 }82 t++;83 }84 buf[x] = '\0';85 g_free(u);86 return buf;87 62 } 88 63 -
lib/misc.h
r98de2cc r424e663 41 41 G_MODULE_EXPORT char *add_cr( char *text ); 42 42 G_MODULE_EXPORT char *strip_newlines(char *source); 43 G_MODULE_EXPORT char *normalize( const char *s );44 43 45 44 G_MODULE_EXPORT time_t get_time( int year, int month, int day, int hour, int min, int sec ); -
protocols/nogaim.h
r98de2cc r424e663 44 44 #include "query.h" 45 45 #include "md5.h" 46 47 #define BUF_LEN MSG_LEN48 #define BUF_LONG ( BUF_LEN * 2 )49 #define MSG_LEN 204850 #define BUF_LEN MSG_LEN51 46 52 47 #define BUDDY_ALIAS_MAXLEN 388 /* because MSN names can be 387 characters */ -
protocols/oscar/oscar.c
r98de2cc r424e663 60 60 61 61 #define OSCAR_GROUP "Friends" 62 63 #define BUF_LEN 2048 64 #define BUF_LONG ( BUF_LEN * 2 ) 62 65 63 66 /* Don't know if support for UTF8 is really working. For now it's UTF16 here. … … 240 243 }; 241 244 static int msgerrreasonlen = 25; 245 246 /* Hurray, this function is NOT thread-safe \o/ */ 247 static char *normalize(const char *s) 248 { 249 static char buf[BUF_LEN]; 250 char *t, *u; 251 int x = 0; 252 253 g_return_val_if_fail((s != NULL), NULL); 254 255 u = t = g_strdup(s); 256 257 strcpy(t, s); 258 g_strdown(t); 259 260 while (*t && (x < BUF_LEN - 1)) { 261 if (*t != ' ' && *t != '!') { 262 buf[x] = *t; 263 x++; 264 } 265 t++; 266 } 267 buf[x] = '\0'; 268 g_free(u); 269 return buf; 270 } 242 271 243 272 static gboolean oscar_callback(gpointer data, gint source, … … 1002 1031 } 1003 1032 1004 tmp = g_strdup(normalize(ic->acc->user)); 1005 if (!strcmp(tmp, normalize(info->sn))) 1033 if (!aim_sncmp(tmp, normalize(info->sn))) 1006 1034 g_snprintf(ic->displayname, sizeof(ic->displayname), "%s", info->sn); 1007 g_free(tmp); 1008 1009 imcb_buddy_status(ic, info->sn, flags, state_string, NULL); 1010 /* imcb_buddy_times(ic, info->sn, signon, time_idle); */ 1035 1036 tmp = normalize(info->sn); 1037 imcb_buddy_status(ic, tmp, flags, state_string, NULL); 1038 /* imcb_buddy_times(ic, tmp, signon, time_idle); */ 1039 1011 1040 1012 1041 return 1; … … 1022 1051 va_end(ap); 1023 1052 1024 imcb_buddy_status(ic, info->sn, 0, NULL, NULL );1053 imcb_buddy_status(ic, normalize(info->sn), 0, NULL, NULL ); 1025 1054 1026 1055 return 1; … … 1078 1107 1079 1108 strip_linefeed(tmp); 1080 imcb_buddy_msg(ic, userinfo->sn, tmp, flags, 0);1109 imcb_buddy_msg(ic, normalize(userinfo->sn), tmp, flags, 0); 1081 1110 g_free(tmp); 1082 1111 … … 1177 1206 message = g_strdup(args->msg); 1178 1207 strip_linefeed(message); 1179 imcb_buddy_msg(ic, uin, message, 0, 0);1208 imcb_buddy_msg(ic, normalize(uin), message, 0, 0); 1180 1209 g_free(uin); 1181 1210 g_free(message); … … 1196 1225 1197 1226 strip_linefeed(message); 1198 imcb_buddy_msg(ic, uin, message, 0, 0);1227 imcb_buddy_msg(ic, normalize(uin), message, 0, 0); 1199 1228 g_free(uin); 1200 1229 g_free(m); … … 1471 1500 1472 1501 for (i = 0; i < count; i++) 1473 imcb_chat_add_buddy(c->cnv, info[i].sn);1502 imcb_chat_add_buddy(c->cnv, normalize(info[i].sn)); 1474 1503 1475 1504 return 1; … … 1494 1523 1495 1524 for (i = 0; i < count; i++) 1496 imcb_chat_remove_buddy(c->cnv, info[i].sn, NULL);1525 imcb_chat_remove_buddy(c->cnv, normalize(info[i].sn), NULL); 1497 1526 1498 1527 return 1; … … 1545 1574 tmp = g_malloc(BUF_LONG); 1546 1575 g_snprintf(tmp, BUF_LONG, "%s", msg); 1547 imcb_chat_msg(ccon->cnv, info->sn, tmp, 0, 0);1576 imcb_chat_msg(ccon->cnv, normalize(info->sn), tmp, 0, 0); 1548 1577 g_free(tmp); 1549 1578 … … 1758 1787 g_snprintf(sender, sizeof(sender), "%u", msg->sender); 1759 1788 strip_linefeed(dialog_msg); 1760 imcb_buddy_msg(ic, sender, dialog_msg, 0, t);1789 imcb_buddy_msg(ic, normalize(sender), dialog_msg, 0, t); 1761 1790 g_free(dialog_msg); 1762 1791 } break; … … 1779 1808 1780 1809 strip_linefeed(dialog_msg); 1781 imcb_buddy_msg(ic, sender, dialog_msg, 0, t);1810 imcb_buddy_msg(ic, normalize(sender), dialog_msg, 0, t); 1782 1811 g_free(dialog_msg); 1783 1812 g_free(m); … … 2017 2046 struct aim_ssi_item *curitem; 2018 2047 int tmp; 2048 char *nrm; 2019 2049 2020 2050 /* Add from server list to local list */ … … 2023 2053 switch (curitem->type) { 2024 2054 case 0x0000: /* Buddy */ 2025 if ((curitem->name) && (!imcb_find_buddy(ic, curitem->name))) { 2055 nrm = normalize(curitem->name); 2056 2057 if ((curitem->name) && (!imcb_find_buddy(ic, nrm))) { 2026 2058 char *realname = NULL; 2027 2059 … … 2029 2061 realname = aim_gettlv_str(curitem->data, 0x0131, 1); 2030 2062 2031 imcb_add_buddy(ic, curitem->name, NULL);2063 imcb_add_buddy(ic, nrm, NULL); 2032 2064 2033 2065 if (realname) { 2034 imcb_buddy_nick_hint(ic, curitem->name, realname);2035 imcb_rename_buddy(ic, curitem->name, realname);2066 imcb_buddy_nick_hint(ic, nrm, realname); 2067 imcb_rename_buddy(ic, nrm, realname); 2036 2068 g_free(realname); 2037 2069 } … … 2045 2077 if (!list) { 2046 2078 char *name; 2047 name = g_strdup(n ormalize(curitem->name));2079 name = g_strdup(nrm); 2048 2080 ic->permit = g_slist_append(ic->permit, name); 2049 2081 tmp++; … … 2058 2090 if (!list) { 2059 2091 char *name; 2060 name = g_strdup(n ormalize(curitem->name));2092 name = g_strdup(nrm); 2061 2093 ic->deny = g_slist_append(ic->deny, name); 2062 2094 tmp++; … … 2120 2152 if( st == 0x00 ) 2121 2153 { 2122 imcb_add_buddy( sess->aux_data, list, NULL );2154 imcb_add_buddy( sess->aux_data, normalize(list), NULL ); 2123 2155 } 2124 2156 else if( st == 0x0E ) … … 2450 2482 if(type2 == 0x0002) { 2451 2483 /* User is typing */ 2452 imcb_buddy_typing(ic, sn, OPT_TYPING);2484 imcb_buddy_typing(ic, normalize(sn), OPT_TYPING); 2453 2485 } 2454 2486 else if (type2 == 0x0001) { 2455 2487 /* User has typed something, but is not actively typing (stale) */ 2456 imcb_buddy_typing(ic, sn, OPT_THINKING);2488 imcb_buddy_typing(ic, normalize(sn), OPT_THINKING); 2457 2489 } 2458 2490 else { 2459 2491 /* User has stopped typing */ 2460 imcb_buddy_typing(ic, sn, 0);2492 imcb_buddy_typing(ic, normalize(sn), 0); 2461 2493 } 2462 2494
Note: See TracChangeset
for help on using the changeset viewer.