void grn_output_str(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type, const char *value, size_t value_len) { put_delimiter(ctx, outbuf, output_type); switch (output_type) { case GRN_CONTENT_JSON: grn_text_esc(ctx, outbuf, value, value_len); break; case GRN_CONTENT_TSV: grn_text_esc(ctx, outbuf, value, value_len); break; case GRN_CONTENT_XML: GRN_TEXT_PUTS(ctx, outbuf, "<TEXT>"); grn_text_escape_xml(ctx, outbuf, value, value_len); GRN_TEXT_PUTS(ctx, outbuf, "</TEXT>"); break; case GRN_CONTENT_MSGPACK : #ifdef HAVE_MESSAGE_PACK msgpack_pack_raw(&ctx->impl->msgpacker, value_len); msgpack_pack_raw_body(&ctx->impl->msgpacker, value, value_len); #endif break; case GRN_CONTENT_NONE: break; } INCR_LENGTH; }
static void grn_pat_tag_keys_put_original_text(grn_ctx *ctx, grn_obj *output, const char *text, unsigned int length, grn_bool use_html_escape) { if (use_html_escape) { grn_text_escape_xml(ctx, output, text, length); } else { GRN_TEXT_PUT(ctx, output, text, length); } }