/*
 *	Copyright (C) 1984, 1985  SRI International
 *	Copyright (C) 1992  TGV, Incorporated
 *
 *	Commands to delete/undelete/kill messages
 *
 */
#include "vax-mm.h"

CMD_Delete()
{
	int Message;
	int Number_Of_Messages = 0;

	/*
	 *	Message List
	 */
	Parse_Message_List("CURRENT");
	/*
	 *	Confirm
	 */
	Confirm();
	/*
	 *	Do it
	 */
	while(1) {
		Message = Next_Message(1);
		if (Message <= 0) break;
		Current_Message = Message;
		Messages[Message-1].Flags |= MSG_DELETED;
		Update_Message(Message);
		Number_Of_Messages++;
	}
	if (Number_Of_Messages) printf("\n");
}



CMD_Undelete()
{
	int Message;
	int Number_Of_Messages = 0;

	/*
	 *	Message List
	 */
	Parse_Message_List("CURRENT");
	/*
	 *	Confirm
	 */
	Confirm();
	/*
	 *	Do it
	 */
	while(1) {
		Message = Next_Message(1);
		if (Message <= 0) break;
		Current_Message = Message;
		Messages[Message-1].Flags &= ~MSG_DELETED;
		Update_Message(Message);
		Number_Of_Messages++;
	}
	if (Number_Of_Messages) printf("\n");
}



CMD_Kill()
{
	int Message;
	int Number_Of_Messages = 0;

	/*
	 *	Message List
	 */
	Parse_Message_List("CURRENT");
	/*
	 *	Confirm
	 */
	Confirm();
	/*
	 *	Do it
	 */
	while(1) {
		Message = Next_Message(1);
		if (Message <= 0) break;
		Current_Message = Message;
		Messages[Message-1].Flags |= MSG_DELETED;
		Update_Message(Message);
		Number_Of_Messages++;
	}
	if (Number_Of_Messages) printf("\n");
	/*
	 *	Do an implicit "Next"
	 */
	if (Last_Message == 0) {
		printf(" Message file empty\n");
		return;
	}
	if (Current_Message >= Last_Message) {
		printf(" Currently at end, message %d\n",Current_Message);
		return;
	}
	Current_Message++;
	Print_Message(Current_Message,1);
}
