diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-04-19 15:37:32 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-04-19 15:49:51 +0900 |
| commit | 13eba431008f09deb32e5f514cc7aa4e06ad9111 (patch) | |
| tree | 18135301fdc3b87d21dd1d0285152baf2368f7c3 /src | |
| parent | 2275e76262686b0ac0b94d64b73eadc1adfcc1c4 (diff) | |
| download | mruby-13eba431008f09deb32e5f514cc7aa4e06ad9111.tar.gz mruby-13eba431008f09deb32e5f514cc7aa4e06ad9111.zip | |
backtrace.c: small refactoring in `mrb_exc_backtrace()`; ref #5394
- add comment for unpacking
- avoid saving the symbol in a local variable
Diffstat (limited to 'src')
| -rw-r--r-- | src/backtrace.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/backtrace.c b/src/backtrace.c index 01d4143ab..952f89a24 100644 --- a/src/backtrace.c +++ b/src/backtrace.c @@ -224,16 +224,15 @@ mrb_unpack_backtrace(mrb_state *mrb, mrb_value backtrace) MRB_API mrb_value mrb_exc_backtrace(mrb_state *mrb, mrb_value exc) { - mrb_sym attr_name; mrb_value backtrace; - attr_name = MRB_SYM(backtrace); - backtrace = mrb_iv_get(mrb, exc, attr_name); + backtrace = mrb_iv_get(mrb, exc, MRB_SYM(backtrace)); if (mrb_nil_p(backtrace) || mrb_array_p(backtrace)) { return backtrace; } + /* unpack packed-backtrace */ backtrace = mrb_unpack_backtrace(mrb, backtrace); - mrb_iv_set(mrb, exc, attr_name, backtrace); + mrb_iv_set(mrb, exc, MRB_SYM(backtrace), backtrace); return backtrace; } |
