- msg->cm_fields[eAuthor] = strdup(CC->user.fullname);
- msg->cm_fields[eOriginalRoom] = strdup(CC->room.QRname);
- msg->cm_fields[eNodeName] = strdup(config.c_nodename);
- msg->cm_fields[eHumanNode] = strdup(config.c_humannode);
- msg->cm_fields[eMesageText] = malloc(strlen(ser) + 40);
- strcpy(msg->cm_fields[eMesageText], "Content-type: text/calendar\r\n\r\n");
- strcat(msg->cm_fields[eMesageText], ser);
+ CM_SetField(msg, eAuthor, CCC->user.fullname, strlen(CCC->user.fullname));
+ CM_SetField(msg, eOriginalRoom, CCC->room.QRname, strlen(CCC->room.QRname));
+ CM_SetField(msg, eNodeName, CtdlGetConfigStr("c_nodename"), strlen(CtdlGetConfigStr("c_nodename")));
+ CM_SetField(msg, eHumanNode, CtdlGetConfigStr("c_humannode"), strlen(CtdlGetConfigStr("c_humannode")));
+
+ MsgBody = NewStrBufPlain(NULL, serlen + 100);
+ StrBufAppendBufPlain(MsgBody, HKEY("Content-type: text/calendar\r\n\r\n"), 0);
+ StrBufAppendBufPlain(MsgBody, ser, serlen, 0);
+
+ CM_SetAsFieldSB(msg, eMesageText, &MsgBody);