summaryrefslogtreecommitdiffstats
path: root/parser.l
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-03-07 06:34:20 -0800
committerKaz Kylheku <kaz@kylheku.com>2016-03-07 06:34:20 -0800
commitca5c17eb1acd8b3f0efb62d6952dfa8bf5551756 (patch)
tree6f05e5882cf12ac60d3be542ac8d99a2c5b2cff7 /parser.l
parent4a03a56b463d01980c10192e76ed787d56408cd8 (diff)
downloadtxr-ca5c17eb1acd8b3f0efb62d6952dfa8bf5551756.tar.gz
txr-ca5c17eb1acd8b3f0efb62d6952dfa8bf5551756.tar.bz2
txr-ca5c17eb1acd8b3f0efb62d6952dfa8bf5551756.zip
gc bug: prepared_msg field of struct parser.
* parser.l (yyerrprepf): Replace wrong bare assignment to parser->prepared_msg with proper set macro which handles the mutation of a mature generation object such that it points to a baby object.
Diffstat (limited to 'parser.l')
-rw-r--r--parser.l3
1 files changed, 2 insertions, 1 deletions
diff --git a/parser.l b/parser.l
index aa7fb6dc..7c856274 100644
--- a/parser.l
+++ b/parser.l
@@ -129,7 +129,8 @@ static void yyerrprepf(scanner_t *scanner, val fmt, ...)
if (opt_loglevel >= 1) {
va_list vl;
va_start (vl, fmt);
- parser->prepared_msg = vformat_to_string(fmt, vl);
+ set(mkloc(parser->prepared_msg, parser->parser),
+ vformat_to_string(fmt, vl));
va_end (vl);
}
}