/* mod.c */
/* author: Edward A. Green */
/* purpose: routines for constructing and destructing MOD data structure */

#include "proj3.h"

/* create a MOD item */
MOD *make_mod(void)
{
	MOD *ptr;

	ptr=(MOD *)malloc(sizeof(MOD));
	ptr->var=NULL;
	ptr->next_line=-1;
	ptr->next=NULL;
	return(ptr);
}

/* delete a MOD item; return the item it points to */
MOD *return_mod(MOD *ptr)
{
	MOD *ret_val;

	if (ptr==NULL) return(NULL);

	ret_val=ptr->next;
	if (ptr->var!=NULL) free(ptr->var);
	free(ptr);
	return(ret_val);
}

/* wipe out an entire MOD list */
void wipe_mod(MOD *list)
{
	while (list!=NULL) list=return_mod(list);
	return;
}
