#include #include #include #define L 1024 int addline(char***,char*,int); void printit(char**,int); void clear(char***,int); int main(void) { char **root = 0; int len = 0; char buffer[L]; printf("Za prekid uneti praznu liniju.\n\n"); while(1) { printf("> "); gets(buffer); if(!*buffer) break; len = addline(&root,buffer,len); printit(root,len); } clear(&root,len); return 0; } int addline(char***root,char*str,int len) { if(str) { if(*root) { (*root) = (char**)realloc(*root,(len+1)*sizeof(char*)); } else { (*root) = (char**)malloc(sizeof(char*)); len = 0; } (*root)[len] = (char*)malloc((strlen(str)+1)*sizeof(char)); strcpy((*root)[len],str); } return len+1; } void printit(char**root,int len) { int i; printf("\n------\n"); for(i=0;i