X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fserver%2Fmsgbase.c;h=259a3e5ab2994febe129e78febbdca89f6b31015;hb=cd6c194901557e9e068643d01d117a7824d36533;hp=3588ac8d08af9f79052c87fcfc425bb372c5d2fa;hpb=5d3c7139faafbfdc5db4b45bdf9ef7105d4593b1;p=citadel.git diff --git a/citadel/server/msgbase.c b/citadel/server/msgbase.c index 3588ac8d0..259a3e5ab 100644 --- a/citadel/server/msgbase.c +++ b/citadel/server/msgbase.c @@ -2396,6 +2396,7 @@ struct ser_ret CtdlSerializeMessage(struct CtdlMessage *msg) { } ret.len = 3; + assert(FieldOrder[NDiskFields-1] == eMessageText); // Message text MUST be last! for (i=0; i < NDiskFields; ++i) { if (msg->cm_fields[FieldOrder[i]] != NULL) { ret.len += msg->cm_lengths[FieldOrder[i]] + 2; @@ -2417,16 +2418,14 @@ struct ser_ret CtdlSerializeMessage(struct CtdlMessage *msg) { for (i=0; i < NDiskFields; ++i) { if (msg->cm_fields[FieldOrder[i]] != NULL) { + // future improvement: do the bigmsg check right here ret.ser[wlen++] = (char)FieldOrder[i]; memcpy(&ret.ser[wlen], msg->cm_fields[FieldOrder[i]], msg->cm_lengths[FieldOrder[i]] + 1); wlen = wlen + msg->cm_lengths[FieldOrder[i]] + 1; } } - if (ret.len != wlen) { - syslog(LOG_ERR, "msgbase: ERROR; len=%ld wlen=%ld", (long)ret.len, (long)wlen); - } - + assert(ret.len == wlen); // Make sure we measured it correctly return(ret); } @@ -2526,13 +2525,16 @@ long CtdlSubmitMsg(struct CtdlMessage *msg, // message to save string_trim(content_type); aptr = content_type; while (!IsEmptyStr(aptr)) { - if ((*aptr == ';') - || (*aptr == ' ') - || (*aptr == 13) - || (*aptr == 10)) { + if ( (*aptr == ';') + || (*aptr == ' ') + || (*aptr == 13) + || (*aptr == 10) + ) { *aptr = 0; } - else aptr++; + else { + aptr++; + } } } } @@ -3020,10 +3022,12 @@ struct CtdlMessage *CtdlMakeMessageLen( long IsAscii; IsAscii = -1; i = 0; - while ((subject[i] != '\0') && (IsAscii = isascii(subject[i]) != 0 )) + while ((subject[i] != '\0') && (IsAscii = isascii(subject[i]) != 0 )) { i++; - if (IsAscii != 0) + } + if (IsAscii != 0) { CM_SetField(msg, eMsgSubject, subject); + } else { // ok, we've got utf8 in the string. char *rfc2047Subj; rfc2047Subj = rfc2047encode(subject, length); @@ -3203,11 +3207,7 @@ void PutMetaData(struct MetaData *smibuf) { // Use the negative of the message number for the metadata db index TheIndex = (0L - smibuf->meta_msgnum); - - cdb_store(CDB_MSGMAIN, - &TheIndex, (int)sizeof(long), - smibuf, (int)sizeof(struct MetaData) - ); + cdb_store(CDB_MSGMAIN, &TheIndex, (int)sizeof(long), smibuf, (int)sizeof(struct MetaData)); }