aboutsummaryrefslogtreecommitdiff
path: root/src/peerstore/plugin_peerstore_sqlite.c
diff options
context:
space:
mode:
authorOmar Tarabai <tarabai@devegypt.com>2014-05-17 16:57:49 +0000
committerOmar Tarabai <tarabai@devegypt.com>2014-05-17 16:57:49 +0000
commit7eb684ec9f93d52ebae09729fcf01c16580b5cb9 (patch)
tree72a44f01de2dc157f47a0a70ccb90d36154ddcbf /src/peerstore/plugin_peerstore_sqlite.c
parent83c058a5ea11b6d7aa05cb71963c6063cb373603 (diff)
downloadgnunet-7eb684ec9f93d52ebae09729fcf01c16580b5cb9.tar.gz
gnunet-7eb684ec9f93d52ebae09729fcf01c16580b5cb9.zip
peestore: towards iterate functionality
Diffstat (limited to 'src/peerstore/plugin_peerstore_sqlite.c')
-rw-r--r--src/peerstore/plugin_peerstore_sqlite.c29
1 files changed, 11 insertions, 18 deletions
diff --git a/src/peerstore/plugin_peerstore_sqlite.c b/src/peerstore/plugin_peerstore_sqlite.c
index c5eabac2d..1ae8301b2 100644
--- a/src/peerstore/plugin_peerstore_sqlite.c
+++ b/src/peerstore/plugin_peerstore_sqlite.c
@@ -122,12 +122,7 @@ peerstore_sqlite_iterate_records (void *cls,
122 sqlite3_stmt *stmt; 122 sqlite3_stmt *stmt;
123 int err = 0; 123 int err = 0;
124 int sret; 124 int sret;
125 const char *ret_sub_system; 125 struct GNUNET_PEERSTORE_Record *ret;
126 const struct GNUNET_PeerIdentity *ret_peer;
127 const char *ret_key;
128 const void *ret_value;
129 size_t ret_value_size;
130 struct GNUNET_TIME_Absolute ret_expiry;
131 126
132 if(NULL == peer && NULL == key) 127 if(NULL == peer && NULL == key)
133 { 128 {
@@ -166,20 +161,18 @@ peerstore_sqlite_iterate_records (void *cls,
166 } 161 }
167 while (SQLITE_ROW == (sret = sqlite3_step (stmt))) 162 while (SQLITE_ROW == (sret = sqlite3_step (stmt)))
168 { 163 {
169 ret_sub_system = (const char *)sqlite3_column_text(stmt, 0); 164 ret = GNUNET_new(struct GNUNET_PEERSTORE_Record);
170 ret_peer = sqlite3_column_blob(stmt, 1); 165 ret->sub_system = (char *)sqlite3_column_text(stmt, 0);
171 ret_key = (const char *)sqlite3_column_text(stmt, 2); 166 ret->peer = (struct GNUNET_PeerIdentity *)sqlite3_column_blob(stmt, 1);
172 ret_value = sqlite3_column_blob(stmt, 3); 167 ret->key = (char *)sqlite3_column_text(stmt, 2);
173 ret_value_size = sqlite3_column_bytes(stmt, 3); 168 ret->value = (void *)sqlite3_column_blob(stmt, 3);
174 ret_expiry.abs_value_us = (uint64_t)sqlite3_column_int64(stmt, 4); 169 ret->value_size = sqlite3_column_bytes(stmt, 3);
170 ret->expiry = GNUNET_new(struct GNUNET_TIME_Absolute);
171 ret->expiry->abs_value_us = (uint64_t)sqlite3_column_int64(stmt, 4);
175 if (NULL != iter) 172 if (NULL != iter)
176 iter (iter_cls, 173 iter (iter_cls,
177 ret_sub_system, 174 ret,
178 ret_peer, 175 NULL);
179 ret_key,
180 ret_value,
181 ret_value_size,
182 ret_expiry);
183 } 176 }
184 if (SQLITE_DONE != sret) 177 if (SQLITE_DONE != sret)
185 { 178 {