du6 - 12
This commit is contained in:
parent
f2155d74d7
commit
ab1c6de86f
@ -44,18 +44,23 @@ Tree* read_tree() {
|
|||||||
|
|
||||||
// inak nacitat oboch potomkov
|
// inak nacitat oboch potomkov
|
||||||
node->left = read_tree();
|
node->left = read_tree();
|
||||||
if (!node->left) {
|
node->right = read_tree();
|
||||||
|
|
||||||
|
if (!node->left || !node->right) {
|
||||||
valid_db = 0;
|
valid_db = 0;
|
||||||
|
destroy_tree(node->left);
|
||||||
|
destroy_tree(node->right);
|
||||||
free(node);
|
free(node);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
node->right = read_tree();
|
long cur = ftell(stdin);
|
||||||
if (!node->right) {
|
if (fgets(buffer, SIZE, stdin)) {
|
||||||
free(node->left);
|
if (strcmp(buffer, "\n") != 0 && buffer[0] != '*') {
|
||||||
valid_db = 0;
|
valid_db = 0;
|
||||||
free(node);
|
} else {
|
||||||
return NULL;
|
fseek(stdin, cur, SEEK_SET);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return node;
|
return node;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user