From e754e6e957b2097368312065e76759bb602bc7d9 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Thu, 17 Aug 2023 12:11:39 -0900 Subject: [PATCH] msgbase.c: change to new API --- citadel/server/msgbase.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/citadel/server/msgbase.c b/citadel/server/msgbase.c index d6dc230f8..edde4dc01 100644 --- a/citadel/server/msgbase.c +++ b/citadel/server/msgbase.c @@ -612,7 +612,6 @@ int CtdlForEachMessage(int mode, long ref, char *search_string, { int a, i, j; struct visit vbuf; - struct cdbdata *cdbfr; long *msglist = NULL; int num_msgs = 0; int num_processed = 0; @@ -652,18 +651,13 @@ int CtdlForEachMessage(int mode, long ref, char *search_string, } // Load the message list - cdbfr = cdb_fetch(CDB_MSGLISTS, &CC->room.QRnumber, sizeof(long)); - if (cdbfr == NULL) { + num_msgs = CtdlFetchMsgList(CC->room.QRnumber, &msglist); + if (num_msgs <= 0) { + if (msglist) free(msglist); if (need_to_free_re) regfree(&re); return 0; // No messages at all? No further action. } - msglist = (long *) cdbfr->ptr; - num_msgs = cdbfr->len / sizeof(long); - - cdbfr->ptr = NULL; // clear this so that cdb_free() doesn't free it - cdb_free(cdbfr); // we own this memory now - /* * Now begin the traversal. */ @@ -2240,11 +2234,9 @@ int CtdlSaveMsgPointersInRoom(char *roomname, long newmsgidlist[], int num_newms return(ERROR + ROOM_NOT_FOUND); } - msgs_to_be_merged = malloc(sizeof(long) * num_newmsgs); num_msgs_to_be_merged = 0; - cdbfr = cdb_fetch(CDB_MSGLISTS, &CC->room.QRnumber, sizeof(long)); if (cdbfr == NULL) { msglist = NULL; @@ -2257,7 +2249,6 @@ int CtdlSaveMsgPointersInRoom(char *roomname, long newmsgidlist[], int num_newms cdb_free(cdbfr); } - /* Create a list of msgid's which were supplied by the caller, but do * not already exist in the target room. It is absolutely taboo to * have more than one reference to the same message in a room. -- 2.39.2