if (node->quote == T_BARE_WORD) {
FR_SBUFF_RETURN(fr_value_box_print, out, &node->data, e_rules);
} else {
- FR_SBUFF_IN_CHAR_RETURN(out, fr_token_quote[node->quote]);
- FR_SBUFF_RETURN(fr_value_box_print, out, &node->data, fr_value_escape_by_quote[node->quote]);
- FR_SBUFF_IN_CHAR_RETURN(out, fr_token_quote[node->quote]);
+ FR_SBUFF_RETURN(fr_value_box_print_quoted, out, &node->data, node->quote);
}
goto done;
FALL_THROUGH;
case FR_TYPE_DATE:
- FR_SBUFF_IN_CHAR_RETURN(&our_out, '"');
- FR_SBUFF_RETURN(fr_value_box_print, &our_out, &vp->data, &fr_value_escape_double);
- FR_SBUFF_IN_CHAR_RETURN(&our_out, '"');
+ FR_SBUFF_RETURN(fr_value_box_print_quoted, &our_out, &vp->data, T_DOUBLE_QUOTED_STRING);
break;
case FR_TYPE_OCTETS:
* in a database, in all other instances it's better to use
* #fr_value_box_print_quoted.
*
+ * @note - this function does NOT respect tainting! The escaping rules
+ * are ONLY for escaping quotation characters, CR, LF, etc.
+ *
* @param[in] out Where to write the printed string.
* @param[in] data Value box to print.
- * @param[in] e_rules To apply to FR_TYPE_STRING types.
+ * @param[in] e_rules To apply to FR_TYPE_STRING types, for escaping quotation characters _only_.
* Is not currently applied to any other box type.
*/
ssize_t fr_value_box_print(fr_sbuff_t *out, fr_value_box_t const *data, fr_sbuff_escape_rules_t const *e_rules)