]> code.citadel.org Git - citadel.git/blobdiff - citadel/server/euidindex.c
DRY fetch of msglists.
[citadel.git] / citadel / server / euidindex.c
index cf26193b626c0f92de5f937dd88ee5b7dae441df..14aafd1d6ecd388f2fc0a3ab80ced745a2074897 100644 (file)
@@ -166,7 +166,6 @@ void rebuild_euid_index(void) {
 void cmd_euid(char *cmdbuf) {
        char euid[256];
        long msgnum;
-        struct cdbdata *cdbfr;
         long *msglist = NULL;
         int num_msgs = 0;
        int i;
@@ -180,18 +179,16 @@ void cmd_euid(char *cmdbuf) {
                return;
        }
 
-        cdbfr = cdb_fetch(CDB_MSGLISTS, &CC->room.QRnumber, sizeof(long));
-       if (cdbfr != NULL) {
-                num_msgs = cdbfr->len / sizeof(long);
-                msglist = (long *) cdbfr->ptr;
+       num_msgs = CtdlFetchMsgList(CC->room.QRnumber, &msglist);
+       if (num_msgs >= 0) {
                 for (i = 0; i < num_msgs; ++i) {
                         if (msglist[i] == msgnum) {
-                               cdb_free(cdbfr);
+                               free(msglist);
                                cprintf("%d %ld\n", CIT_OK, msgnum);
                                return;
                        }
                }
-                cdb_free(cdbfr);
+                free(msglist);
        }
 
        cprintf("%d not found\n", ERROR + MESSAGE_NOT_FOUND);