Mercurial > pidgin
diff src/list.c @ 2998:6fe330f1b951
[gaim-migrate @ 3011]
selected smilies will look selected now.
committer: Tailor Script <tailor@pidgin.im>
| author | Sean Egan <seanegan@gmail.com> |
|---|---|
| date | Sun, 03 Mar 2002 20:19:30 +0000 |
| parents | 4697411bd90c |
| children | e729c064bc1b |
line wrap: on
line diff
--- a/src/list.c Sun Mar 03 05:44:32 2002 +0000 +++ b/src/list.c Sun Mar 03 20:19:30 2002 +0000 @@ -349,13 +349,13 @@ int how_many = 0; bud = NULL; - + if (config != NULL) { - + /* skip "CONFIG:" (if it exists) */ c = strncmp(config + 6 /* sizeof(struct sflap_hdr) */ , "CONFIG:", strlen("CONFIG:")) ? - strtok(config, "\n") : - strtok(config + 6 /* sizeof(struct sflap_hdr) */ + strlen("CONFIG:"), "\n"); + strtok(config, "\n") : + strtok(config + 6 /* sizeof(struct sflap_hdr) */ + strlen("CONFIG:"), "\n"); do { if (c == NULL) break; @@ -368,13 +368,18 @@ } else if (*c == 'b' && !find_buddy(gc, c + 2)) { char nm[80], sw[388], *tmp = c + 2; int i = 0; + while (*tmp != ':' && *tmp && i < sizeof(nm) - 1) + nm[i++] = *tmp++; + while (*tmp != ':' && *tmp) - nm[i++] = *tmp++; + *tmp++; + if (*tmp == ':') *tmp++ = '\0'; + nm[i] = '\0'; i = 0; - while (*tmp) + while (*tmp && i < sizeof(sw) - 1) sw[i++] = *tmp++; sw[i] = '\0'; if (!find_buddy(gc, nm)) { @@ -390,7 +395,7 @@ n = g_strdup(normalize (name)); while (d) { if (!g_strcasecmp(n, normalize (d->data))) - break; + break; d = d->next; } g_free(n); @@ -407,15 +412,15 @@ n = g_strdup(normalize (name)); while (d) { if (!g_strcasecmp(n, normalize (d->data))) - break; - d = d->next; - } - g_free(n); - if (!d) { - gc->deny = g_slist_append(gc->deny, name); - how_many++; - } else - g_free(name); + break; + d = d->next; + } + g_free(n); + if (!d) { + gc->deny = g_slist_append(gc->deny, name); + how_many++; + } else + g_free(name); } else if (!strncmp("toc", c, 3)) { sscanf(c + strlen(c) - 1, "%d", &gc->permdeny); debug_printf("permdeny: %d\n", gc->permdeny); @@ -428,16 +433,17 @@ gc->permdeny = 1; } } while ((c = strtok(NULL, "\n"))); - + if (bud != NULL) { serv_add_buddies(gc, bud); g_list_free(bud); } serv_set_permit_deny(gc); } - + if (how_many != 0) do_export(gc); + } void toc_build_config(struct gaim_connection *gc, char *s, int len, gboolean show)
