tracker r1575 - in branches/indexer-split: . src/libtracker-db



Author: carlosg
Date: Wed Jun  4 10:49:53 2008
New Revision: 1575
URL: http://svn.gnome.org/viewvc/tracker?rev=1575&view=rev

Log:
2008-06-04  Carlos Garnacho  <carlos imendio com>

        * src/libtracker-db/tracker-db-interface-sqlite.c
        (tracker_db_interface_sqlite_execute_procedure)
        (tracker_db_interface_sqlite_execute_procedure_len): Do not choke with
        NULL arguments, instead trust the caller on the number of arguments
        passed and allow using NULL values with these functions.


Modified:
   branches/indexer-split/ChangeLog
   branches/indexer-split/src/libtracker-db/tracker-db-interface-sqlite.c

Modified: branches/indexer-split/src/libtracker-db/tracker-db-interface-sqlite.c
==============================================================================
--- branches/indexer-split/src/libtracker-db/tracker-db-interface-sqlite.c	(original)
+++ branches/indexer-split/src/libtracker-db/tracker-db-interface-sqlite.c	Wed Jun  4 10:49:53 2008
@@ -451,16 +451,12 @@
 	priv = TRACKER_DB_INTERFACE_SQLITE_GET_PRIVATE (db_interface);
 	stmt = get_stored_stmt (TRACKER_DB_INTERFACE_SQLITE (db_interface), procedure_name);
 	stmt_args = sqlite3_bind_parameter_count (stmt);
-	n_args = 1;
 
-	while ((str = va_arg (args, gchar *)) != NULL) {
+	for (n_args = 1; n_args <= stmt_args; n_args++) {
+		str = va_arg (args, gchar *);
 		sqlite3_bind_text (stmt, n_args, str, -1, SQLITE_STATIC);
-		n_args++;
 	}
 
-	/* Just panic if the number of arguments don't match */
-	g_assert (n_args != stmt_args);
-
 	return create_result_set_from_stmt (TRACKER_DB_INTERFACE_SQLITE (db_interface), stmt, error);
 }
 
@@ -478,9 +474,9 @@
 	priv = TRACKER_DB_INTERFACE_SQLITE_GET_PRIVATE (db_interface);
 	stmt = get_stored_stmt (TRACKER_DB_INTERFACE_SQLITE (db_interface), procedure_name);
 	stmt_args = sqlite3_bind_parameter_count (stmt);
-	n_args = 1;
 
-	while ((str = va_arg (args, gchar *)) != NULL) {
+	for (n_args = 1; n_args <= stmt_args; n_args++) {
+		str = va_arg (args, gchar *);
 		len = va_arg (args, gint);
 
 		if (len == -1) {
@@ -490,13 +486,8 @@
 			/* Deal with it as a blob */
 			sqlite3_bind_blob (stmt, n_args, str, len, SQLITE_STATIC);
 		}
-
-		n_args++;
 	}
 
-	/* Just panic if the number of arguments don't match */
-	g_assert (n_args != stmt_args);
-
 	return create_result_set_from_stmt (TRACKER_DB_INTERFACE_SQLITE (db_interface), stmt, error);
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]