]> spindle.queued.net Git - midori/commitdiff
Work around sqlite3_mprintf for bookmark metadata
authorAlexander Butenko <a.butenka@gmail.com>
Tue, 22 Jun 2010 17:08:55 +0000 (13:08 -0400)
committerChristian Dywan <christian@twotoasts.de>
Sat, 26 Jun 2010 14:40:15 +0000 (16:40 +0200)
panels/midori-bookmarks.c

index cbac36c7060bf85289bbd6d46c1c1ff27aa016cb..225a73d10f62420f46a7550a388ac9ab231ca220 100644 (file)
@@ -214,13 +214,11 @@ midori_bookmarks_insert_item_db (sqlite3*   db,
 {
     gchar* sqlcmd;
     char* errmsg = NULL;
-    gint64 type;
+    int type = 0;
     gchar* parent;
 
     if (katze_item_get_uri (item))
         type = 1;
-    else
-        type = 0;
 
     if (folder)
         parent = g_strdup (folder);
@@ -229,15 +227,18 @@ midori_bookmarks_insert_item_db (sqlite3*   db,
     else
         parent = g_strdup ("");
 
-    sqlcmd = sqlite3_mprintf (
+    /* Workaround a sqlite3_mprintf error with
+       handling of katze_item_get_meta_integer(). */
+    /* FIXME: Need proper single quote escaping. */
+    sqlcmd = g_strdup_printf (
             "INSERT into bookmarks (uri, title, folder, type, toolbar, app) values"
-            " ('%q', '%q', '%q', %u, %u, %u)",
+            " ('%s', '%s', '%s', %d, %d, %d)",
             katze_item_get_uri (item),
             katze_item_get_name (item),
             parent,
             type,
-            katze_item_get_meta_integer (item, "toolbar"),
-            katze_item_get_meta_integer (item, "app"));
+            (int)katze_item_get_meta_integer (item, "toolbar"),
+            (int)katze_item_get_meta_integer (item, "app"));
 
     if (sqlite3_exec (db, sqlcmd, NULL, NULL, &errmsg) != SQLITE_OK)
     {
@@ -246,7 +247,7 @@ midori_bookmarks_insert_item_db (sqlite3*   db,
     }
 
     g_free (parent);
-    sqlite3_free (sqlcmd);
+    g_free (sqlcmd);
 }
 
 void