Work around sqlite3_mprintf for bookmark metadata

This commit is contained in:
Alexander Butenko 2010-06-22 13:08:55 -04:00 committed by Christian Dywan
parent a84a077ac8
commit 7c4263ebca

View file

@ -214,13 +214,11 @@ midori_bookmarks_insert_item_db (sqlite3* db,
{ {
gchar* sqlcmd; gchar* sqlcmd;
char* errmsg = NULL; char* errmsg = NULL;
gint64 type; int type = 0;
gchar* parent; gchar* parent;
if (katze_item_get_uri (item)) if (katze_item_get_uri (item))
type = 1; type = 1;
else
type = 0;
if (folder) if (folder)
parent = g_strdup (folder); parent = g_strdup (folder);
@ -229,15 +227,18 @@ midori_bookmarks_insert_item_db (sqlite3* db,
else else
parent = g_strdup (""); 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" "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_uri (item),
katze_item_get_name (item), katze_item_get_name (item),
parent, parent,
type, type,
katze_item_get_meta_integer (item, "toolbar"), (int)katze_item_get_meta_integer (item, "toolbar"),
katze_item_get_meta_integer (item, "app")); (int)katze_item_get_meta_integer (item, "app"));
if (sqlite3_exec (db, sqlcmd, NULL, NULL, &errmsg) != SQLITE_OK) if (sqlite3_exec (db, sqlcmd, NULL, NULL, &errmsg) != SQLITE_OK)
{ {
@ -246,7 +247,7 @@ midori_bookmarks_insert_item_db (sqlite3* db,
} }
g_free (parent); g_free (parent);
sqlite3_free (sqlcmd); g_free (sqlcmd);
} }
void void