comparison pidgin-twitter.c @ 154:d6ecbdee0afa

fixed a bug around strchr() pointed out by mojin.
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Fri, 25 Jul 2008 18:39:19 +0900
parents 07cedffb1c63
children 0921655b4ae1
comparison
equal deleted inserted replaced
153:07cedffb1c63 154:d6ecbdee0afa
1748 gchar *slash = strrchr(url, '/'); 1748 gchar *slash = strrchr(url, '/');
1749 *slash = '\0'; 1749 *slash = '\0';
1750 gchar *tmp = g_strdup_printf("%s/%s", url, 1750 gchar *tmp = g_strdup_printf("%s/%s", url,
1751 purple_url_encode(slash+1)); 1751 purple_url_encode(slash+1));
1752 1752
1753 gchar *startp = slash + 1; 1753
1754 gchar *ext = NULL; 1754 gchar *lower = g_ascii_strdown(slash+1, -1);
1755 do { 1755
1756 ext = strchr(startp, '.'); 1756 if(strstr(lower, ".png"))
1757 if(ext) { 1757 data->img_type = "png";
1758 if(!strcasecmp(ext, ".jpg") || !strcasecmp(ext, ".jpeg")) { 1758 else if(strstr(lower, ".gif"))
1759 data->img_type = "jpg"; 1759 data->img_type = "gif";
1760 break; 1760 else if(strstr(lower, ".jpg") || strstr(lower, ".jpeg"))
1761 } 1761 data->img_type = "jpg";
1762 else if(!strcasecmp(ext, ".png")) { 1762
1763 data->img_type = "png"; 1763 g_free(lower);
1764 break;
1765 }
1766 else if(!strcasecmp(ext, ".gif")) {
1767 data->img_type = "gif";
1768 break;
1769 }
1770 startp = ext;
1771 }
1772 } while(ext);
1773 1764
1774 g_free(url); 1765 g_free(url);
1775 url = tmp; 1766 url = tmp;
1776 1767
1777 twitter_debug("requested_url=%s\n", url); 1768 twitter_debug("requested_url=%s\n", url);