diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2024-07-12 01:32:47 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2024-07-12 01:32:47 -0700 |
commit | 7dbdc52b4351a44b5d5e18a2fa73ec2f2c16d4c2 (patch) | |
tree | 6452046e87f6e1962857ba353849970fe7820208 /stream.h | |
parent | b2bb2af765a550efd92adb25687cb76f955574e3 (diff) | |
download | txr-7dbdc52b4351a44b5d5e18a2fa73ec2f2c16d4c2.tar.gz txr-7dbdc52b4351a44b5d5e18a2fa73ec2f2c16d4c2.tar.bz2 txr-7dbdc52b4351a44b5d5e18a2fa73ec2f2c16d4c2.zip |
json: new special var *print-json-type*.
This variable controls whether we emit the "__type" key
for structures.
* lib.c (out_json_rec): React to the new variable, via
the flag in the json_opts structure: include the "__type" key
only if it is requested.
(out_json, put_json): Initialize the type flag in the josn_opts
according to the *print-json-type* dynamic variable.
* stream.c (print_json_type_s): New symbol variable.
(stream_init): print_json_type_s initialized, and
corresponding special variable registered, with intial value t.
* stream.h (struct json_opts): New bitfield member, type.
(print_json_type_s): Declared.
* txr.1: Documented.
Diffstat (limited to 'stream.h')
-rw-r--r-- | stream.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -142,6 +142,7 @@ enum json_fmt { struct json_opts { enum json_fmt fmt : 4; unsigned flat : 1; + unsigned type : 1; }; loc lookup_var_l(val env, val sym); @@ -162,7 +163,7 @@ extern val get_error_s, get_error_str_s, clear_error_s, get_fd_s; extern val print_flo_precision_s, print_flo_digits_s, print_flo_format_s; extern val pprint_flo_format_s, print_base_s, print_circle_s; -extern val print_json_format_s; +extern val print_json_format_s, print_json_type_s; #if HAVE_SOCKETS extern val socket_error_s; |