X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/a0f4c9177fad58b18574fcb78ce3dd2729d06d3f..bf5cef4139b16cc3d036bb3b7c3495e9653b0a18:/src/util.c diff --git a/src/util.c b/src/util.c index 79da8ffc..5c9823b8 100644 --- a/src/util.c +++ b/src/util.c @@ -26,6 +26,7 @@ #endif #include +#include #include "dialog.h" @@ -88,3 +89,25 @@ void new_email(GtkWindow *parent, const gchar * address) g_free(uri); uri = NULL; } + +gchar *uri_escape(gchar *str) +{ + gchar *esc_str = g_malloc(3*strlen(str)); + gchar *dst = esc_str; + gchar *src; + + for (src = str; *src; src++) { + if (*src == ' ') + *dst++ = '+'; + else if (g_ascii_isalnum(*src)) + *dst++ = *src; + else { + g_sprintf(dst, "%%%02X", *src); + dst += 3; + } + } + *dst = '\0'; + + return(esc_str); +} +