From 39ffcef262053df8cb0b7c9af6492831c718d619 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Thu, 17 Aug 2023 13:52:54 -0900 Subject: [PATCH] msgbase.c all migrated to new api now --- citadel/server/msgbase.c | 39 ++++++++------------------------------- 1 file changed, 8 insertions(+), 31 deletions(-) diff --git a/citadel/server/msgbase.c b/citadel/server/msgbase.c index 6878de8ec..daee42762 100644 --- a/citadel/server/msgbase.c +++ b/citadel/server/msgbase.c @@ -2236,18 +2236,7 @@ int CtdlSaveMsgPointersInRoom(char *roomname, long newmsgidlist[], int num_newms 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; - num_msgs = 0; - } - else { - msglist = (long *) cdbfr->ptr; - cdbfr->ptr = NULL; // CtdlSaveMsgPointerInRoom() now owns this memory (this needs attention if we move to LMDB) - num_msgs = cdbfr->len / sizeof(long); - cdb_free(cdbfr); - } + num_msgs = CtdlFetchMsgList(CC->room.QRnumber, &msglist); /* 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 @@ -3217,16 +3206,10 @@ int CtdlDeleteMessages(const char *room_name, // which room if (need_to_free_re) regfree(&re); return(0); /* room not found */ } - cdbfr = cdb_fetch(CDB_MSGLISTS, &qrbuf.QRnumber, sizeof(long)); - if (cdbfr != NULL) { - dellist = malloc(cdbfr->len); - num_msgs = cdbfr->len / sizeof(long); - msglist = (long *) malloc(cdbfr->len); - memcpy(msglist, cdbfr->ptr, cdbfr->len); - cdb_free(cdbfr); - } + num_msgs = CtdlFetchMsgList(qrbuf.QRnumber, &msglist); if (num_msgs > 0) { + dellist = malloc(num_msgs * sizeof(long)); int have_contenttype = (content_type != NULL) && !IsEmptyStr(content_type); int have_delmsgs = (num_dmsgnums == 0) || (dmsgnums == NULL); int have_more_del = 1; @@ -3277,22 +3260,16 @@ int CtdlDeleteMessages(const char *room_name, // which room } i++; } -/* - { - StrBuf *dbg = NewStrBuf(); - for (i = 0; i < num_deleted; i++) - StrBufAppendPrintf(dbg, ", %ld", dellist[i]); - syslog(LOG_DEBUG, "msgbase: Deleting: %s", ChrPtr(dbg)); - FreeStrBuf(&dbg); - } -*/ + num_msgs = sort_msglist(msglist, num_msgs); cdb_store(CDB_MSGLISTS, &qrbuf.QRnumber, (int)sizeof(long), msglist, (int)(num_msgs * sizeof(long))); - if (num_msgs > 0) + if (num_msgs > 0) { qrbuf.QRhighest = msglist[num_msgs - 1]; - else + } + else { qrbuf.QRhighest = 0; + } } CtdlPutRoomLock(&qrbuf); -- 2.39.2