# HG changeset patch # User Paul Aurich # Date 1265058919 0 # Node ID dac2aa640c4fd2a1c18055c08fee28a03f567956 # Parent 4931a24576bd2a474cd30752c31937b7929d3232# Parent 6e207cd68b25b92092715004611ddf2a07f29053 merge of '47bd1e8215f2e068f00151ed40c211745f596aba' and '768a62d29a0b004bea9c9265d4fc810558c0242a' diff -r 4931a24576bd -r dac2aa640c4f pidgin/gtkthemes.c --- a/pidgin/gtkthemes.c Fri Jan 29 14:23:15 2010 +0000 +++ b/pidgin/gtkthemes.c Mon Feb 01 21:15:19 2010 +0000 @@ -263,14 +263,7 @@ if (buf[0] == '#' || buf[0] == '\0') continue; - else { - int len = strlen(buf); - while (len && (buf[len - 1] == '\r' || buf[len - 1] == '\n')) - buf[--len] = '\0'; - if (len == 0) - continue; - } - + i = buf; while (isspace(*i)) i++; @@ -287,17 +280,25 @@ list->smileys = g_slist_reverse(list->smileys); list = child; } else if (!g_ascii_strncasecmp(i, "Name=", strlen("Name="))) { + int len; g_free(theme->name); theme->name = g_strdup(i + strlen("Name=")); + len = strlen(theme->name); + theme->name[len-1] = 0; + if(len > 2 && theme->name[len-2] == '\r') + theme->name[len-2] = 0; } else if (!g_ascii_strncasecmp(i, "Description=", strlen("Description="))) { g_free(theme->desc); theme->desc = g_strdup(i + strlen("Description=")); + theme->desc[strlen(theme->desc)-1] = 0; } else if (!g_ascii_strncasecmp(i, "Icon=", strlen("Icon="))) { g_free(theme->icon); theme->icon = g_build_filename(dirname, i + strlen("Icon="), NULL); + theme->icon[strlen(theme->icon)-1] = 0; } else if (!g_ascii_strncasecmp(i, "Author=", strlen("Author="))) { g_free(theme->author); theme->author = g_strdup(i + strlen("Author=")); + theme->author[strlen(theme->author)-1] = 0; } else if (load && list) { gboolean hidden = FALSE; char *sfile = NULL; @@ -310,7 +311,7 @@ char l[64]; int li = 0; while (!isspace(*i) && li < sizeof(l) - 1) { - if (*i == '\\' && *(i+1) != '\0') + if (*i == '\\' && *(i+1) != '\0' && *(i+1) != '\n' && *(i+1) != '\r') i++; l[li++] = *(i++); }