if (fr_dict_internal()) internal = fr_dict_root(fr_dict_internal());
if (internal == root->da) internal = NULL;
+ if (fr_sbuff_remaining(&our_in) == 0) return 0;
+
redo:
append = true;
raw = raw_octets = false;
keep_going |= (len > 0);
}
- keep_going &= (fr_sbuff_remaining(&our_in) > 0);
+ keep_going &= ((fr_sbuff_remaining(&our_in) > 0) || (fr_sbuff_extend(&our_in) > 0));
if (keep_going) goto redo;
*
* foo = { bar = baz }
*/
- if (fr_pair_list_afrom_substr(&root, &relative, &FR_SBUFF_IN(buf, strlen(buf))) <= 0) {
+ if (fr_pair_list_afrom_substr(&root, &relative, &FR_SBUFF_IN(buf, strlen(buf))) < 0) {
*pfiledone = false;
fr_pair_list_free(&tmp_list);
return -1;