[ Ambien @ 05.03.2011. 09:01 ] @
Code: struct key_list { char *key_name; char *key_val; struct key_list *next; }; typedef struct _ini_list { char *sect_name; struct key_list *keys; struct _ini_list *next; }ini_list; void add_sect(ini_list **il, const char *s_name) { ini_list *tmp=NULL; ini_list *p=NULL; tmp = (ini_list*)malloc(sizeof(ini_list)); tmp->sect_name=(char*)malloc(strlen(s_name)+1); strcpy(tmp->sect_name,s_name); if(*il==NULL) { *il=tmp; tmp->next=NULL; } else { p = *il; while(p->next != NULL) { p=p->next; } p->next=tmp; tmp->next=NULL; } } void free_sect(ini_list *il) { ini_list *tmp; while(il != NULL) { tmp = il->next; free(il->sect_name); free(il); il=tmp; } } Ovaj kod iznad radi perfektno, ali zelio bih da uradim nesto novo tj. da iskoristim postojecu funkciju za dodavanje sekcije tako sto cu je moci iskoristiti i za dodavanje kljuceva. Nista mi konkretno ne pada na um, nisam odavno radio u C-u, mislio sam da to uradim preko void pokazivaca ali opet nista. Da sumiram, postoji li nacin da vrsim alociranje memorije za dvije vrlo slicne strukture sekcija i kljuc koristeci samo jednu funkciju. Hvala, Pozdrav! |