* Call ourselves recursively to encode children.
*/
slen = encode_tlv_children(&work_dbuff, da_stack, depth, &child_cursor, encode_ctx);
- if (slen <= 0) {
+ if (slen < 0) {
if (slen == PAIR_ENCODE_SKIPPED) continue;
return slen;
}
} else {
slen = encode_attribute(&work_dbuff, da_stack, depth + 1, cursor, encode_ctx);
}
- if (slen <= 0) {
+ if (slen < 0) {
if (slen == PAIR_ENCODE_SKIPPED) continue;
return slen;
}
if ((vp->da->type == FR_TYPE_STRUCT) || (da->type == FR_TYPE_STRUCT)) {
slen = fr_struct_to_network(&work_dbuff, da_stack, depth, cursor, encode_ctx, encode_value,
encode_tlv_children);
- if (slen <= 0) return slen;
+ if (slen < 0) return slen;
vp = fr_dcursor_current(cursor);
fr_proto_da_stack_build(da_stack, vp ? vp->da : NULL);
default:
encode:
slen = fr_value_box_to_network(&value_dbuff, &vp->data);
- if (slen <= 0) return slen;
+ if (slen < 0) return slen;
break;
}
} else {
slen = encode_vendor_attr(&work_dbuff, da_stack, depth, &child_cursor, encode_ctx);
}
- if (slen <= 0) {
+ if (slen < 0) {
if (slen == PAIR_ENCODE_SKIPPED) continue;
return slen;
}
fr_assert(da_stack->da[depth + 1]->type == FR_TYPE_VENDOR);
slen = encode_vendor(&work_dbuff, da_stack, depth + 1, &child_cursor, encode_ctx);
- if (slen <= 0) {
+ if (slen < 0) {
if (slen == PAIR_ENCODE_SKIPPED) continue;
return slen;
}