Пример #1
0
static mrb_value
writer_open_map(mrb_state *mrb, mrb_value self)
{
  grn_ctx *ctx = (grn_ctx *)mrb->ud;
  char *name;
  mrb_int n_elements;

  mrb_get_args(mrb, "zi", &name, &n_elements);
  GRN_OUTPUT_MAP_OPEN(name, n_elements);

  return mrb_nil_value();
}
Пример #2
0
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();
}