From: Christian Dywan Date: Mon, 12 Oct 2009 16:21:12 +0000 (+0200) Subject: Check the length of form fields to save only once X-Git-Url: https://spindle.queued.net/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9702fbf5e4e532e408b0833692c313617e568b68;p=midori Check the length of form fields to save only once --- diff --git a/extensions/formhistory.c b/extensions/formhistory.c index 81c31b5d..0cb119ca 100644 --- a/extensions/formhistory.c +++ b/extensions/formhistory.c @@ -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); } }