char *url_decode(char *msg) { char *ret; char *ret2; if (!msg) return NULL; if ((ret = g_strdup(msg)) == NULL) { free(msg); purple_debug_warning("netsoul", "pointeur NULL: url_decode(1)"); return (NULL); } if (ns_url_decode(ret) == 0) { free(ret); purple_debug_warning("netsoul", "pointeur NULL: url_decode(2)"); return (NULL); } if (ns_back_slash_decode(ret) == 0) { free(ret); purple_debug_warning("netsoul", "pointeur NULL: url_decode(3)"); return (NULL); } ret2 = g_convert(ret, strlen(ret), "UTF-8", "ISO-8859-15", NULL, NULL, NULL); /* ret2 = g_locale_to_utf8(ret, strlen(ret), NULL, NULL, NULL); */ if (ret2) g_free(ret); else ret2 = ret; return (ret2); }
char *ns_decode(char *buff) { char *ret; ret = my_malloc_strcpy (buff); if (ns_url_decode(ret) == 0) { my_free(ret); return (NULL); } if (ns_back_slash_decode(ret) == 0) { my_free(ret); return (NULL); } return (ret); }