X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fmodules%2Fctdlproto%2Fserv_messages.c;fp=citadel%2Fmodules%2Fctdlproto%2Fserv_messages.c;h=88a893c494c8c000bd50e1a715db7c986fee3c28;hp=ef1d70a7a4ef27de66fbe868fd98294f9ef880cd;hb=e86cae42a7b279758e7d5de8785793af5cdf689d;hpb=0b309a2b8cf939c7a0f5c765a2ab64f8df23c511 diff --git a/citadel/modules/ctdlproto/serv_messages.c b/citadel/modules/ctdlproto/serv_messages.c index ef1d70a7a..88a893c49 100644 --- a/citadel/modules/ctdlproto/serv_messages.c +++ b/citadel/modules/ctdlproto/serv_messages.c @@ -92,7 +92,6 @@ void cmd_msgs(char *cmdbuf) char tfield[256]; char tvalue[256]; int cm_ref = 0; - int i; int with_template = 0; struct CtdlMessage *template = NULL; char search_string[1024]; @@ -153,15 +152,21 @@ void cmd_msgs(char *cmdbuf) template->cm_anon_type = MES_NORMAL; while(client_getln(buf, sizeof buf) >= 0 && strcmp(buf,"000")) { + eMsgField f; + long tValueLen; - extract_token(tfield, buf, 0, '|', sizeof tfield); - tValueLen = extract_token(tvalue, buf, 1, '|', sizeof tvalue); - if (tValueLen >= 0) { - for (i='A'; i<='Z'; ++i) if (msgkeys[i]!=NULL) { - if (!strcasecmp(tfield, msgkeys[i])) { - CM_SetField(template, i, tvalue, tValueLen); - } + tValueLen = extract_token(tfield, buf, 0, '|', sizeof tfield); + if ((tValueLen == 4) && GetFieldFromMnemonic(&f, tfield)) + { + if (with_template == 1) { + tValueLen = extract_token(tvalue, buf, 1, '|', sizeof tvalue); + if (tValueLen >= 0) { + CM_SetField(template, f, tvalue, tValueLen); } + } + else { + + } } } buffer_output();