size_t iqs;
assert(btrn);
- if (type != BTR_NT_LEAF) {
- if (btr_no_children(btrn))
- return -E_BTR_NO_CHILD;
- if (btr_get_output_queue_size(btrn) > BTRN_MAX_PENDING)
- return 0;
- }
- if (type != BTR_NT_ROOT) {
- if (btr_eof(btrn))
- return -E_BTR_EOF;
- iqs = btr_get_input_queue_size(btrn);
- if (iqs == 0) /* we have a parent, because not eof */
- return 0;
- if (iqs < min_iqs && !btr_no_parent(btrn))
- return 0;
- }
+ if (type != BTR_NT_LEAF && btr_no_children(btrn))
+ return -E_BTR_NO_CHILD;
+ if (type != BTR_NT_ROOT && btr_eof(btrn))
+ return -E_BTR_EOF;
+
+ if (btr_get_output_queue_size(btrn) > BTRN_MAX_PENDING)
+ return 0;
+ if (type == BTR_NT_ROOT)
+ return 1;
+ iqs = btr_get_input_queue_size(btrn);
+ if (iqs == 0) /* we have a parent, because not eof */
+ return 0;
+ if (iqs < min_iqs && !btr_no_parent(btrn))
+ return 0;
return 1;
}