diff src/lib-sql/sql-api.c @ 9270:f9ebd72a73e8 HEAD

SQL API change: SQL results can be now refed/unrefed.
author Timo Sirainen <tss@iki.fi>
date Tue, 12 May 2009 19:34:06 -0400
parents b9faf4db2a9f
children 551c273f4844
line wrap: on
line diff
--- a/src/lib-sql/sql-api.c	Tue May 12 18:55:02 2009 -0400
+++ b/src/lib-sql/sql-api.c	Tue May 12 19:34:06 2009 -0400
@@ -97,8 +97,17 @@
 	return db->v.query_s(db, query);
 }
 
-void sql_result_free(struct sql_result *result)
+void sql_result_ref(struct sql_result *result)
 {
+	result->refcount++;
+}
+
+void sql_result_unref(struct sql_result *result)
+{
+	i_assert(result->refcount > 0);
+	if (--result->refcount > 0)
+		return;
+
 	i_free(result->map);
 	result->v.free(result);
 }