static mrb_value writer_close_map(mrb_state *mrb, mrb_value self) { grn_ctx *ctx = (grn_ctx *)mrb->ud; GRN_OUTPUT_MAP_CLOSE(); return mrb_nil_value(); }
static void output_result(grn_ctx *ctx, mrb_value result) { grn_obj grn_result; GRN_OUTPUT_MAP_OPEN("result", 1); GRN_OUTPUT_CSTR("value"); GRN_VOID_INIT(&grn_result); if (grn_mrb_to_grn(ctx, result, &grn_result) == GRN_SUCCESS) { GRN_OUTPUT_OBJ(&grn_result, NULL); } else { GRN_OUTPUT_CSTR("unsupported return value"); } grn_obj_unlink(ctx, &grn_result); GRN_OUTPUT_MAP_CLOSE(); }