]> spindle.queued.net Git - midori/commitdiff
Check the length of form fields to save only once
authorChristian Dywan <christian@twotoasts.de>
Mon, 12 Oct 2009 16:21:12 +0000 (18:21 +0200)
committerChristian Dywan <christian@twotoasts.de>
Mon, 12 Oct 2009 21:06:04 +0000 (23:06 +0200)
extensions/formhistory.c

index 81c31b5d0e309fddf279f18e68ad34e5a0958d43..0cb119cadc8fba1946539780096e06326fad2b16 100644 (file)
@@ -102,14 +102,19 @@ static void
 formhistory_update_main_hash (GHashTable* keys)
 {
     GHashTableIter iter;
-    gchar* tmp = "";
-    gchar* new_value = "";
-    gchar* key = "";
-    gchar* value = "";
+    gchar* key;
+    gchar* value;
+
     g_hash_table_iter_init (&iter, keys);
     while (g_hash_table_iter_next (&iter, (gpointer)&key, (gpointer)&value))
     {
-        if (value && *value && (strlen (value) > MAXCHARS || strlen (value) < MINCHARS))
+        guint length;
+        gchar* tmp;
+
+        if (!(value && *value))
+            continue;
+        length = strlen (value);
+        if (length > MAXCHARS || length < MINCHARS)
             continue;
 
         tmp = g_hash_table_lookup (global_keys, (gpointer)key);
@@ -119,14 +124,14 @@ formhistory_update_main_hash (GHashTable* keys)
             if (!g_regex_match_simple (rvalue, tmp,
                                        G_REGEX_CASELESS, G_REGEX_MATCH_NOTEMPTY))
             {
-                new_value = g_strdup_printf ("%s%s,", tmp, rvalue);
+                gchar* new_value = g_strdup_printf ("%s%s,", tmp, rvalue);
                 g_hash_table_replace (global_keys, key, new_value);
             }
             g_free (rvalue);
         }
         else
         {
-            new_value = g_strdup_printf ("\"%s\",",value);
+            gchar* new_value = g_strdup_printf ("\"%s\",",value);
             g_hash_table_insert (global_keys, key, new_value);
         }
     }