Public feed #379023

psiche

public c v1 · immutable
Raw Edit
·published 2007-03-02 22:54 UTC
rendered paste body
int ReadDataFromFile(DList *list){    int linecount=1;    int node=0;    int len;    DListElem *element;    BOOK *data;    char *tmp;    element=DList_Head(list);    data=(BOOK*)malloc(sizeof(BOOK));    while(1)    {        tmp=NULL;        tmp=dtextff(filename,linecount);        printf( "lincecount %d and node %d\n",linecount,node);//de        if( (linecount%13)==0)        {             node+=12;        }        if(strlen(tmp)==0 || strcmp(tmp,"#")==0 )        {            break;        }        if( linecount-node==1 )        {            data->autor=tmp;            printf("autor: %s \n",data->autor);        }        if( linecount-node==2 )        {            data->bname=tmp;            printf("bname: %s \n",data->bname);        }        if( linecount-node==3 )        {            data->publisher=tmp;            printf("publi: %s \n",data->publisher);        }        if( linecount-node==4 )        {            data->year=atoi(tmp);            printf("rok: %d \n",data->year);        }        if( linecount-node==5 )        {            data->pagenum=atoi(tmp);            printf("pagenum: %d \n",data->pagenum);        }        if( linecount-node==6 )        {            data->price=atoi(tmp);            printf("cena: %d \n",data->price);        }        if( linecount-node==7 )        {            data->cat=atoi(tmp);            printf("cat: %d \n",data->cat);        }        if( linecount-node==8 )        {            data->subcat=atoi(tmp);            printf("subca: %d \n",data->subcat);        }        if( linecount-node==9 )        {            data->keywords[0]=tmp;            printf("key[0]: %s \n",data->keywords[0]);            //getch();        }        if( linecount-node == 10 )        {             data->keywords[1]=tmp;        }        if( linecount-node == 11 )        {            data->keywords[2]=tmp;        }        if( linecount-node == 12 )        {            data->anotation=tmp;            printf("anotacia: %s \n",data->anotation);        }        if( (linecount%12)==0)        {            printf("//////////AAddiiingg///////////////\n");            if(DList_Ins_Next(list,DList_Head(list),data)!=0)            {            printf("ERROR: Adding Data To DList! \n");            return -1;            }            data=(BOOK*)malloc(sizeof(BOOK));            getch();        }        linecount++;    }     return 0;}