| 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 } |