From 6ea5c6b5172eebd0937710418ad99f82fbcf28e7 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Tue, 17 Jul 2012 23:46:48 +0900 Subject: make mirb work even when DISABLE_STDIO is set --- tools/mirb/mirb.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'tools') diff --git a/tools/mirb/mirb.c b/tools/mirb/mirb.c index 8b36cb5a6..4159f12bd 100644 --- a/tools/mirb/mirb.c +++ b/tools/mirb/mirb.c @@ -13,6 +13,19 @@ #include #include +#ifndef ENABLE_STDIO +#include +static void +p(mrb_state *mrb, mrb_value obj) +{ + obj = mrb_funcall(mrb, obj, "inspect", 0); + fwrite(RSTRING_PTR(obj), RSTRING_LEN(obj), 1, stdout); + putc('\n', stdout); +} +#else +#define p(mrb,obj) mrb_p(mrb,obj) +#endif + /* Guess if the user might want to enter more * or if he wants an evaluation of his code now */ int @@ -219,13 +232,13 @@ main(void) mrb_top_self(mrb)); /* did an exception occur? */ if (mrb->exc) { - mrb_p(mrb, mrb_obj_value(mrb->exc)); + p(mrb, mrb_obj_value(mrb->exc)); mrb->exc = 0; } else { /* no */ printf(" => "); - mrb_p(mrb, result); + p(mrb, result); } } memset(ruby_code, 0, sizeof(*ruby_code)); -- cgit v1.2.3