diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-12-12 21:32:02 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-12-12 21:32:02 +0900 |
| commit | 4078670bcaf47c13738e611b67678cbe6643c185 (patch) | |
| tree | 214f21803946d709a6d1244aab24966485506a4c /src | |
| parent | 9723d6e4ba45c404dc420021558b25ca0494c8d8 (diff) | |
| download | mruby-4078670bcaf47c13738e611b67678cbe6643c185.tar.gz mruby-4078670bcaf47c13738e611b67678cbe6643c185.zip | |
mrb_p() should print mrb_obj_as_string() if #inspect does not return a string value
Diffstat (limited to 'src')
| -rw-r--r-- | src/print.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/print.c b/src/print.c index 6c561100f..b43936b13 100644 --- a/src/print.c +++ b/src/print.c @@ -27,8 +27,13 @@ MRB_API void mrb_p(mrb_state *mrb, mrb_value obj) { #ifdef ENABLE_STDIO - obj = mrb_funcall(mrb, obj, "inspect", 0); - printstr(mrb, obj); + mrb_value val; + + val = mrb_funcall(mrb, obj, "inspect", 0); + if (!mrb_string_p(val)) { + val = mrb_obj_as_string(mrb, obj); + } + printstr(mrb, val); putc('\n', stdout); #endif } |
