From d805c8202867ff3cc4049e5df6a3e871c4fdc5be Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Thu, 10 Aug 2023 05:49:50 -0900 Subject: [PATCH] Prepared for upcoming change to cdb_next_item() API. cdb_next_item() is always preceded by a call to cdb_rewind() before the iteration loop. We're going to remove the cursor from thread-specific data, and replace it with a void pointer that the caller is responsible for passing back. This will make the backend drivers easier to build. --- citadel/server/room_ops.c | 1 - citadel/server/user_ops.c | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/citadel/server/room_ops.c b/citadel/server/room_ops.c index 1566e74b0..7fefdbbf3 100644 --- a/citadel/server/room_ops.c +++ b/citadel/server/room_ops.c @@ -528,7 +528,6 @@ void CtdlForEachRoom(ForEachRoomCallBack callback_func, void *in_data) { struct cdbdata *cdbqr; cdb_rewind(CDB_ROOMS); - while (cdbqr = cdb_next_item(CDB_ROOMS), cdbqr != NULL) { memset(&qrbuf, 0, sizeof(struct ctdlroom)); memcpy(&qrbuf, cdbqr->ptr, ((cdbqr->len > sizeof(struct ctdlroom)) ? sizeof(struct ctdlroom) : cdbqr->len) ); diff --git a/citadel/server/user_ops.c b/citadel/server/user_ops.c index 31bd579d3..76897347c 100644 --- a/citadel/server/user_ops.c +++ b/citadel/server/user_ops.c @@ -1043,10 +1043,8 @@ void ForEachUser(void (*CallBack) (char *, void *out_data), void *in_data) { return; } - - cdb_rewind(CDB_USERS); - // Phase 1 : build an array of all our user account names + cdb_rewind(CDB_USERS); while (cdbus = cdb_next_item(CDB_USERS), cdbus != NULL) { usptr = (struct ctdluser *) cdbus->ptr; if (strlen(usptr->fullname) > 0) { -- 2.39.2