Mercurial > pidgin
diff libpurple/protocols/qq/utils.c @ 24142:df699d739b8f
2008.10.03 - ccpaging <ccpaging(at)gmail.com>
* 2007 protocol:
1. fixed 'get room info'
2. fixed 'get buddy level'
author | SHiNE CsyFeK <csyfek@gmail.com> |
---|---|
date | Wed, 22 Oct 2008 14:46:44 +0000 |
parents | dbc7a9742f8d |
children | a95c7e71064c |
line wrap: on
line diff
--- a/libpurple/protocols/qq/utils.c Wed Oct 22 14:45:26 2008 +0000 +++ b/libpurple/protocols/qq/utils.c Wed Oct 22 14:46:44 2008 +0000 @@ -186,13 +186,19 @@ /* convert name displayed in a chat channel to original QQ UID */ gchar *chat_name_to_purple_name(const gchar *const name) { - const gchar *tmp; + const char *start; + const char *end; gchar *ret; g_return_val_if_fail(name != NULL, NULL); - tmp = (gchar *) purple_strcasestr(name, "("); - ret = g_strndup(tmp + 4, strlen(name) - (tmp - name) - 4 - 1); + /* Sample: (1234567)*/ + start = strchr(name, '('); + g_return_val_if_fail(start != NULL, NULL); + end = strchr(start, ')'); + g_return_val_if_fail(end != NULL && (end - start) > 1, NULL); + + ret = g_strndup(start + 1, end - start - 1); return ret; }