]> code.citadel.org Git - citadel.git/blobdiff - citadel/server/msgbase.c
Calls to cdb_fetch()/cdb_next_item() now check ptr for NULL or non-NULL
[citadel.git] / citadel / server / msgbase.c
index a1d003abf0bd6b3439ed3736f5448248956017be..d277f070d38f943e53b3195fdefd9c3f356bab61 100644 (file)
@@ -1109,7 +1109,7 @@ struct CtdlMessage *CtdlFetchMessage(long msgnum, int with_body) {
 
        syslog(LOG_DEBUG, "msgbase: CtdlFetchMessage(%ld, %d)", msgnum, with_body);
        dmsgtext = cdb_fetch(CDB_MSGMAIN, &msgnum, sizeof(long));
-       if (dmsgtext.len == 0) {
+       if (dmsgtext.ptr == NULL) {
                syslog(LOG_ERR, "msgbase: message #%ld was not found", msgnum);
                return NULL;
        }
@@ -1132,7 +1132,7 @@ struct CtdlMessage *CtdlFetchMessage(long msgnum, int with_body) {
        //
        if ( (CM_IsEmpty(ret, eMesageText)) && (with_body) ) {
                dmsgtext = cdb_fetch(CDB_BIGMSGS, &msgnum, sizeof(long));
-               if (dmsgtext.len > 0) {
+               if (dmsgtext.ptr != NULL) {
                        CM_SetAsField(ret, eMesageText, &dmsgtext.ptr, dmsgtext.len - 1);
                }
        }
@@ -3306,7 +3306,7 @@ void GetMetaData(struct MetaData *smibuf, long msgnum) {
        TheIndex = (0L - msgnum);
 
        cdbsmi = cdb_fetch(CDB_MSGMAIN, &TheIndex, sizeof(long));
-       if (cdbsmi.len == 0) {
+       if (cdbsmi.ptr == NULL) {
                return;                 /* record not found; leave it alone */
        }
        memcpy(smibuf, cdbsmi.ptr, ((cdbsmi.len > sizeof(struct MetaData)) ? sizeof(struct MetaData) : cdbsmi.len));