comparison libpurple/util.c @ 25834:94fa7211eb98

propagate from branch 'im.pidgin.pidgin' (head 5be7104ff151004112ce3f9c34446335024d06d8) to branch 'im.pidgin.pidgin.next.minor' (head 111d22afa901c48464e4da4d37d1cca3381ae162)
author Richard Laager <rlaager@wiktel.com>
date Fri, 14 Nov 2008 06:45:16 +0000
parents 6ebabe0841a0 2d677e8fe6d0
children b5385e13e32e
comparison
equal deleted inserted replaced
25833:9290eb3e07bf 25834:94fa7211eb98
981 const gchar *css_str = style; 981 const gchar *css_str = style;
982 const gchar *css_value_start; 982 const gchar *css_value_start;
983 const gchar *css_value_end; 983 const gchar *css_value_end;
984 gchar *tmp; 984 gchar *tmp;
985 gchar *ret; 985 gchar *ret;
986
987 g_return_val_if_fail(opt != NULL, NULL);
986 988
987 if (!css_str) 989 if (!css_str)
988 return NULL; 990 return NULL;
989 991
990 /* find the CSS property */ 992 /* find the CSS property */
2388 guint z = 0; 2390 guint z = 0;
2389 gboolean appended = FALSE; 2391 gboolean appended = FALSE;
2390 gunichar c; 2392 gunichar c;
2391 char *tag; 2393 char *tag;
2392 2394
2395 g_return_val_if_fail(str != NULL, NULL);
2393 g_return_val_if_fail(x <= y, NULL); 2396 g_return_val_if_fail(x <= y, NULL);
2394 2397
2395 if (x == y) 2398 if (x == y)
2396 return g_strdup(""); 2399 return g_strdup("");
2397 2400
3375 char proto[11]; 3378 char proto[11];
3376 const char *tmp, *param_string; 3379 const char *tmp, *param_string;
3377 char *cmd; 3380 char *cmd;
3378 GHashTable *params = NULL; 3381 GHashTable *params = NULL;
3379 int len; 3382 int len;
3383
3384 g_return_if_fail(uri != NULL, NULL);
3385
3380 if (!(tmp = strchr(uri, ':')) || tmp == uri) { 3386 if (!(tmp = strchr(uri, ':')) || tmp == uri) {
3381 purple_debug_error("util", "Malformed protocol handler message - missing protocol.\n"); 3387 purple_debug_error("util", "Malformed protocol handler message - missing protocol.\n");
3382 return; 3388 return;
3383 } 3389 }
3384 3390
4080 purple_email_is_valid(const char *address) 4086 purple_email_is_valid(const char *address)
4081 { 4087 {
4082 const char *c, *domain; 4088 const char *c, *domain;
4083 static char *rfc822_specials = "()<>@,;:\\\"[]"; 4089 static char *rfc822_specials = "()<>@,;:\\\"[]";
4084 4090
4091 g_return_val_if_fail(address != NULL, FALSE);
4092
4085 /* first we validate the name portion (name@domain) (rfc822)*/ 4093 /* first we validate the name portion (name@domain) (rfc822)*/
4086 for (c = address; *c; c++) { 4094 for (c = address; *c; c++) {
4087 if (*c == '\"' && (c == address || *(c - 1) == '.' || *(c - 1) == '\"')) { 4095 if (*c == '\"' && (c == address || *(c - 1) == '.' || *(c - 1) == '\"')) {
4088 while (*++c) { 4096 while (*++c) {
4089 if (*c == '\\') { 4097 if (*c == '\\') {
4128 gboolean 4136 gboolean
4129 purple_ip_address_is_valid(const char *ip) 4137 purple_ip_address_is_valid(const char *ip)
4130 { 4138 {
4131 int c, o1, o2, o3, o4; 4139 int c, o1, o2, o3, o4;
4132 char end; 4140 char end;
4141
4142 g_return_val_if_fail(ip != NULL, FALSE);
4143
4133 c = sscanf(ip, "%d.%d.%d.%d%c", &o1, &o2, &o3, &o4, &end); 4144 c = sscanf(ip, "%d.%d.%d.%d%c", &o1, &o2, &o3, &o4, &end);
4134 if (c != 4 || o1 < 0 || o1 > 255 || o2 < 0 || o2 > 255 || o3 < 0 || o3 > 255 || o4 < 0 || o4 > 255) 4145 if (c != 4 || o1 < 0 || o1 > 255 || o2 < 0 || o2 > 255 || o3 < 0 || o3 > 255 || o4 < 0 || o4 > 255)
4135 return FALSE; 4146 return FALSE;
4136 return TRUE; 4147 return TRUE;
4137 } 4148 }