aboutsummaryrefslogtreecommitdiff
path: root/src/sq/sq.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2017-03-12 02:51:36 +0100
committerChristian Grothoff <christian@grothoff.org>2017-03-12 02:51:36 +0100
commita707b513688690a3dad9dc39535900da73a79f28 (patch)
tree0439c267fc54960441ae09f0ca5c62e0c41f2cb7 /src/sq/sq.c
parent538d7fde8cb1c0d079f01f2290aa3e3e2744beff (diff)
downloadgnunet-a707b513688690a3dad9dc39535900da73a79f28.tar.gz
gnunet-a707b513688690a3dad9dc39535900da73a79f28.zip
converting datacache to sqlite, fixing misc. issues in libgnunetsq
Diffstat (limited to 'src/sq/sq.c')
-rw-r--r--src/sq/sq.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/sq/sq.c b/src/sq/sq.c
index 114de2d88..089ebf0ff 100644
--- a/src/sq/sq.c
+++ b/src/sq/sq.c
@@ -90,7 +90,12 @@ GNUNET_SQ_extract_result (sqlite3_stmt *result,
90 j, 90 j,
91 rs[i].result_size, 91 rs[i].result_size,
92 rs[i].dst)) 92 rs[i].dst))
93 {
94 for (unsigned int k=0;k<i;k++)
95 if (NULL != rs[k].cleaner)
96 rs[k].cleaner (rs[k].cls);
93 return GNUNET_SYSERR; 97 return GNUNET_SYSERR;
98 }
94 GNUNET_assert (0 != rs[i].num_params); 99 GNUNET_assert (0 != rs[i].num_params);
95 j += rs[i].num_params; 100 j += rs[i].num_params;
96 } 101 }
@@ -112,4 +117,24 @@ GNUNET_SQ_cleanup_result (struct GNUNET_SQ_ResultSpec *rs)
112 rs[i].cleaner (rs[i].cls); 117 rs[i].cleaner (rs[i].cls);
113} 118}
114 119
120
121/**
122 * Reset @a stmt and log error.
123 *
124 * @param dbh database handle
125 * @param stmt statement to reset
126 */
127void
128GNUNET_SQ_reset (sqlite3 *dbh,
129 sqlite3_stmt *stmt)
130{
131 if (SQLITE_OK !=
132 sqlite3_reset (stmt))
133 GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
134 "sqlite",
135 _("Failed to reset sqlite statement with error: %s\n"),
136 sqlite3_errmsg (dbh));
137}
138
139
115/* end of sq.c */ 140/* end of sq.c */