- if (NULL == zone)
- if (NULL == name)
- stmt = plugin->iterate_all;
- else
- {
- GNUNET_CRYPTO_hash (name, strlen(name), &name_hase);
- stmt = plugin->iterate_by_name;
- }
- else
- if (NULL == name)
- stmt = plugin->iterate_by_zone;
- else
- {
- GNUNET_CRYPTO_hash (name, strlen(name), &name_hase);
- stmt = plugin->iterate_records;
- }
-
- boff = 0;
- if ( (NULL != zone) &&
- (SQLITE_OK != sqlite3_bind_blob (stmt, ++boff,
- zone, sizeof (GNUNET_HashCode),
- SQLITE_STATIC)) )
- {
- LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
- "sqlite3_bind_XXXX");
- if (SQLITE_OK != sqlite3_reset (stmt))
- LOG_SQLITE (plugin,
- GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
- "sqlite3_reset");
- return GNUNET_SYSERR;
- }
- if ( (NULL != name) &&
- (SQLITE_OK != sqlite3_bind_blob (stmt, ++boff,
- &name_hase, sizeof (GNUNET_HashCode),
- SQLITE_STATIC)) )
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "ITERATE NAME HASH: `%s'", GNUNET_h2s_full(&name_hase));
- LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
- "sqlite3_bind_XXXX");
- if (SQLITE_OK != sqlite3_reset (stmt))
- LOG_SQLITE (plugin,
- GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
- "sqlite3_reset");
- return GNUNET_SYSERR;
- }
-
- if (SQLITE_OK != sqlite3_bind_int64 (stmt, ++boff,
- offset))
- {
- LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
- "sqlite3_bind_XXXX");
- if (SQLITE_OK != sqlite3_reset (stmt))
- LOG_SQLITE (plugin,
- GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
- "sqlite3_reset");
- return GNUNET_SYSERR;
- }