ncohafmuta-1.4.2/bot/
ncohafmuta-1.4.2/helpfiles/
ncohafmuta-1.4.2/lib/emailver/
ncohafmuta-1.4.2/tzinfo/Atlantic/
ncohafmuta-1.4.2/tzinfo/Brazil/
ncohafmuta-1.4.2/tzinfo/Chile/
ncohafmuta-1.4.2/tzinfo/Indian/
ncohafmuta-1.4.2/tzinfo/Mexico/
ncohafmuta-1.4.2/tzinfo/Mideast/
ncohafmuta-1.4.2/tzinfo/SystemV/
ncohafmuta-1.4.2/utils/
ncohafmuta-1.4.2/utils/code_fragments/new_config/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <errno.h>
#include <malloc.h>

struct listelement {
    int id;
    char dataitem[30];
    struct listelement *prev,*next;
};
typedef struct listelement* ListPtr;
ListPtr firstpointer=NULL,lastpointer=NULL;

ListPtr InitListItem (ListPtr listpointer);
void PrintListItems (ListPtr listpointer);


int main(void) {
ListPtr mypointer;
char mystr[20];
int count=0;

mypointer=NULL;

while (count < 5) {
sprintf(mystr,"test%d",count);
printf("allocing\n");
mypointer = InitListItem (mypointer);
printf("alloced\n");
mypointer->id = count;
printf("ided\n");
/* mypointer->dataitem = mystr; */
mypointer->dataitem[0]='\0';
strncpy(mypointer->dataitem,mystr,sizeof(mypointer->dataitem));
printf("copied\n");
printf("DATA: %d\n",mypointer->id);
count++;
}

PrintListItems(mypointer);

}


ListPtr InitListItem (ListPtr listpointer) {
ListPtr newitem=NULL;

printf("init0a\n");

if ((newitem = (ListPtr) malloc (sizeof (ListPtr)))==NULL) {
printf("Failed! errno: %d\n",errno);
exit(0);
}

printf("init0b\n");
if (firstpointer==NULL) {
printf("init1a\n");
	firstpointer = newitem;
	newitem->prev = NULL;
printf("init2a\n");
}
else {
printf("init1b\n");
printf("init2b\n");
	lastpointer->next = newitem;
printf("init3b\n");
	newitem->prev = lastpointer;
/*	listpointer->next = newitem; */
}

newitem->next = NULL;
lastpointer = newitem;
return newitem;
}


void PrintListItems (ListPtr listpointer) {
ListPtr templist;

for (templist=firstpointer;templist!=NULL;templist=templist->next) {
 printf("%d\n",templist->id);
}


}