X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/3530c91ee9f3c099cd363075fa6828f8fc723238..bf5cef4139b16cc3d036bb3b7c3495e9653b0a18:/src/util.c diff --git a/src/util.c b/src/util.c index 079ccc9c..5c9823b8 100644 --- a/src/util.c +++ b/src/util.c @@ -26,6 +26,7 @@ #endif #include +#include #include "dialog.h" @@ -42,6 +43,7 @@ static gboolean spawn_command_line_async(const gchar * cmd, g_free(cmdline); + return status; } void open_url(GtkWindow *parent, const gchar * url) @@ -87,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); +} +