diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-10-21 06:34:27 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-10-21 06:34:27 -0700 |
commit | 42e070e744ce23d82ff1eafc1850512a781430e7 (patch) | |
tree | 00195669927c171d5afc5faf91512478ad1d6cb7 | |
parent | 329e80511a928360e91a6aa0962a9a6be0616dbc (diff) | |
download | txr-42e070e744ce23d82ff1eafc1850512a781430e7.tar.gz txr-42e070e744ce23d82ff1eafc1850512a781430e7.tar.bz2 txr-42e070e744ce23d82ff1eafc1850512a781430e7.zip |
Block continuation capture across printer.
* lib.c (obj_print): Applying a continuation guard
around the body of the function. This seems prudent.
-rw-r--r-- | lib.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -9451,6 +9451,9 @@ val obj_print(val obj, val out, val pretty) val save_indent = get_indent(out); struct strm_ctx *ctx_orig = get_ctx(out); struct strm_ctx *volatile ctx = ctx_orig, ctx_struct; + uw_frame_t cont_guard; + + uw_push_guard(&cont_guard); uw_simple_catch_begin; @@ -9481,6 +9484,8 @@ val obj_print(val obj, val out, val pretty) uw_catch_end; + uw_pop_frame(&cont_guard); + return ret; } |