commit 37ea638d39ffd39f68d3b0711efd57b78000f1c7
Author: Ivan Tham <[email protected]>
Date:   Sun Oct 18 12:47:36 2015 +0800

    [surf][searchengines] Update patch

diff --git a/surf.suckless.org/patches/surf-0.6-searchengines.diff 
b/surf.suckless.org/patches/surf-0.6-searchengines.diff
index 653453d..da1828f 100644
--- a/surf.suckless.org/patches/surf-0.6-searchengines.diff
+++ b/surf.suckless.org/patches/surf-0.6-searchengines.diff
@@ -1,69 +1,55 @@
-diff --git a/config.def.h b/config.def.h
-index 8185136..6b5144c 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -101,3 +101,10 @@ static Key keys[] = {
-     { MODKEY|GDK_SHIFT_MASK,GDK_b,      togglescrollbars,{ 0 } },
-     { MODKEY|GDK_SHIFT_MASK,GDK_g,      togglegeolocation, { 0 } },
- };
-+
-+static SearchEngine searchengines[] = {
-+  { "g",        "http://www.google.de/search?q=%s";   },
-+  { "en",       "http://dict.cc/?s=%s"; },
-+  { "ug",       "http://%s.uni-goettingen.de"; },
-+  { "dict",     "http://www.thefreedictionary.com/%s"; },
-+};
 diff --git a/surf.c b/surf.c
-index da84e1c..7eff5e8 100644
+index 0fae80b..deb23b7 100644
 --- a/surf.c
 +++ b/surf.c
-@@ -70,6 +70,11 @@ typedef struct {
- 
+@@ -92,6 +92,12 @@ typedef struct {
  G_DEFINE_TYPE(CookieJar, cookiejar, SOUP_TYPE_COOKIE_JAR_TEXT)
  
-+typedef struct {
-+      char *token;
-+      char *uri;
+ typedef struct {
++       char *token;
++       char *uri;
 +} SearchEngine;
 +
- static Display *dpy;
- static Atom atoms[AtomLast];
- static Client *clients = NULL;
-@@ -140,6 +145,7 @@ static void loaduri(Client *c, const Arg *arg);
++
++typedef struct {
+       char *regex;
+       char *style;
+       regex_t re;
+@@ -179,6 +185,7 @@ static void loaduri(Client *c, const Arg *arg);
  static void navigate(Client *c, const Arg *arg);
  static Client *newclient(void);
  static void newwindow(Client *c, const Arg *arg, gboolean noembed);
 +static gchar *parseuri(const gchar *uri);
  static void pasteuri(GtkClipboard *clipboard, const char *text, gpointer d);
- static void populatepopup(WebKitWebView *web, GtkMenu *menu, Client *c);
- static void popupactivate(GtkMenuItem *menu, Client *);
-@@ -629,8 +635,8 @@ loaduri(Client *c, const Arg *arg) {
+ static gboolean contextmenu(WebKitWebView *view, GtkWidget *menu,
+               WebKitHitTestResult *target, gboolean keyboard, Client *c);
+@@ -789,8 +796,7 @@ loaduri(Client *c, const Arg *arg) {
                u = g_strdup_printf("file://%s", rp);
                free(rp);
        } else {
 -              u = g_strrstr(uri, "://") ? g_strdup(uri)
 -                      : g_strdup_printf("http://%s";, uri);
 +              u = parseuri(uri);
-+
        }
  
-       /* prevents endless loop */
-@@ -911,6 +917,20 @@ popupactivate(GtkMenuItem *menu, Client *c) {
+       setatom(c, AtomUri, uri);
+@@ -1122,6 +1128,21 @@ menuactivate(GtkMenuItem *item, Client *c) {
        }
  }
  
-+gchar *
++static gchar *
 +parseuri(const gchar *uri) {
-+  guint i;
++      guint i;
 +
-+  for (i = 0; i < LENGTH(searchengines); i++) {
-+    if (searchengines[i].token == NULL || searchengines[i].uri == NULL || 
*(uri + strlen(searchengines[i].token)) != ' ')
-+      continue;
-+    if (g_str_has_prefix(uri, searchengines[i].token))
-+      return g_strdup_printf(searchengines[i].uri, uri + 
strlen(searchengines[i].token) + 1);
-+  }
++      for (i = 0; i < LENGTH(searchengines); i++) {
++              if (searchengines[i].token == NULL || searchengines[i].uri == 
NULL || \
++                  *(uri + strlen(searchengines[i].token)) != ' ')
++                      continue;
++              if (g_str_has_prefix(uri, searchengines[i].token))
++                      return g_strdup_printf(searchengines[i].uri, uri + 
strlen(searchengines[i].token) + 1);
++      }
 +
-+  return g_strrstr(uri, "://") ? g_strdup(uri) : g_strdup_printf("http://%s";, 
uri);
++      return g_strrstr(uri, "://") ? g_strdup(uri) : 
g_strdup_printf("http://%s";, uri);
 +}
 +
  static void


Reply via email to