]> git.street.me.uk Git - andy/viking.git/blobdiff - src/util.c
Create the geonames search as an VikXmlSearchTool
[andy/viking.git] / src / util.c
index 79da8ffcc1e2c0655fe2b4f149376138c798e0b5..5c9823b8c35a0ccd5964a7d63ed1d610b7b729b2 100644 (file)
@@ -26,6 +26,7 @@
 #endif
 
 #include <glib/gi18n.h>
+#include <glib/gprintf.h>
 
 #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);
+}
+