summaryrefslogtreecommitdiffstats
path: root/lib.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-04-04 23:00:49 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-04-04 23:00:49 -0700
commit0cb57f957f6ea07a8e33173d39716716db455d30 (patch)
treeaf84c6baed373c3ebc6ecd245d09088ac4503682 /lib.h
parent274cb70971d6a2cebcd887350b4b8602b32743d7 (diff)
downloadtxr-0cb57f957f6ea07a8e33173d39716716db455d30.tar.gz
txr-0cb57f957f6ea07a8e33173d39716716db455d30.tar.bz2
txr-0cb57f957f6ea07a8e33173d39716716db455d30.zip
regex: read/print bug: escaped double quote.
Because the regex printer wrongly uses out_str_char (for the sake of borrowing its semicolon-notation processing) when a regex prints, all characters that require escaping in a string literal get escaped, which includes the " character. Unfortunately the \" sequence which results is rejected by the regex parser. * lib.c (out_str_char): Kludge: add extra argument to distinguish regex use versus string use, and treat the double quote accordingly. (out_str_readable): Give 0 arg to new param of out_str_char. * lib.h (out_str_char): Declaration updated. * regex.c (print_class_char, print_rec): Pass 1 to new param of out_str_char.
Diffstat (limited to 'lib.h')
-rw-r--r--lib.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib.h b/lib.h
index 6fe29fe2..b473b4dd 100644
--- a/lib.h
+++ b/lib.h
@@ -1069,7 +1069,7 @@ val to(val range);
val set_from(val range, val from);
val set_to(val range, val to);
val env(void);
-void out_str_char(wchar_t ch, val out, int *semi_flag);
+void out_str_char(wchar_t ch, val out, int *semi_flag, int regex);
val obj_print_impl(val obj, val out, val pretty, struct strm_ctx *);
val obj_print(val obj, val stream, val pretty);
val print(val obj, val stream, val pretty);