summaryrefslogtreecommitdiffstats
path: root/stream.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2024-07-12 01:32:47 -0700
committerKaz Kylheku <kaz@kylheku.com>2024-07-12 01:32:47 -0700
commit7dbdc52b4351a44b5d5e18a2fa73ec2f2c16d4c2 (patch)
tree6452046e87f6e1962857ba353849970fe7820208 /stream.h
parentb2bb2af765a550efd92adb25687cb76f955574e3 (diff)
downloadtxr-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.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/stream.h b/stream.h
index a334a8ff..06cf5cec 100644
--- a/stream.h
+++ b/stream.h
@@ -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;