return 0;
}
- memset(&SaveMsg->Msg, 0, sizeof (struct CtdlMessage));
+ CM_Flush(&SaveMsg->Msg);
if (SaveMsg->author_or_creator != NULL) {
free (Msg->cm_fields[which]);
Msg->cm_fields[which] = NULL;
}
+void CM_Flush(struct CtdlMessage *Msg)
+{
+ int i;
+
+ if (CM_IsValidMsg(Msg) == 0)
+ return;
+
+ for (i = 0; i < 256; ++i)
+ {
+ CM_FlushField(Msg, i);
+ }
+}
void CM_CopyField(struct CtdlMessage *Msg, eMsgField WhichToPutTo, eMsgField WhichtToCopy)
{
{
len = strlen(Msg->cm_fields[WhichtToCopy]);
Msg->cm_fields[WhichToPutTo] = malloc(len + 1);
- memcpy(Msg->cm_fields[WhichToPutTo], Msg->cm_fields[WhichToPutTo], len);
+ memcpy(Msg->cm_fields[WhichToPutTo], Msg->cm_fields[WhichtToCopy], len);
Msg->cm_fields[WhichToPutTo][len] = '\0';
}
else
void CM_CopyField (struct CtdlMessage *Msg, eMsgField WhichToPutTo, eMsgField WhichtToCopy);
void CM_CutFieldAt (struct CtdlMessage *Msg, eMsgField WhichToCut, long maxlen);
void CM_FlushField (struct CtdlMessage *Msg, eMsgField which);
+void CM_Flush (struct CtdlMessage *Msg);
void CM_SetAsField (struct CtdlMessage *Msg, eMsgField which, char **buf, long length);
void CM_SetAsFieldSB (struct CtdlMessage *Msg, eMsgField which, StrBuf **buf);
void CM_GetAsField (struct CtdlMessage *Msg, eMsgField which, char **ret, long *retlen);