diff --git a/du6/program.c b/du6/program.c index 80436d8..3100abd 100644 --- a/du6/program.c +++ b/du6/program.c @@ -3,7 +3,7 @@ #include #include #include -#define SIZE 100 +#define SIZE 1000 struct tree{ @@ -27,6 +27,9 @@ struct tree* read_tree(){ char buffer[SIZE]; memset(buffer,0,SIZE); char* r = fgets(buffer,SIZE,stdin); + if(!r){ + return NULL; + } r[strcspn(r, "\n")] = '\0'; assert(r); struct tree* node = calloc(1,sizeof(struct tree)); @@ -39,9 +42,6 @@ struct tree* read_tree(){ } node->left = read_tree(); node->right = read_tree(); - // Ak je nacitany riadok listovy uzol ,tak netreba robit nic - // inak rekurzivne nacitanie laveho syna - // a rekurzivne nacitanie praveho syna return node; } void print_tree(struct tree* tree,int offset){ @@ -73,11 +73,6 @@ int main(void){ struct tree* tree = read_tree(); char line[SIZE]; - - if(!tree){ - printf("Bazu sa nedalo nacitat'.\n"); - return 0; - } while( fgets(line, sizeof(line), stdin)){ line[strcspn(line, "\n")] = '\0'; if(line[0] == '\0'){ @@ -86,14 +81,14 @@ int main(void){ } } - if(!whitespace){ + if(!whitespace && tree != NULL){ printf("No whitespace after database\n"); return 0; } int numOfLeaves = count_leaves(tree); char answer[SIZE]; printf("Expert z bufetu to vie.\n"); - if(!tree){ + if(tree == NULL){ printf("Chybna databaza\n"); return 0; }