aboutsummaryrefslogtreecommitdiff
path: root/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'parse.c')
-rw-r--r--parse.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/parse.c b/parse.c
index 4c9e95aa..60b68edc 100644
--- a/parse.c
+++ b/parse.c
@@ -2096,7 +2096,10 @@ PARSER(parse_doctest) {
*output_end = pos + strcspn(pos, "\r\n");
if (output_end <= output_start)
parser_err(ctx, output_start, output_end, "You're missing expected output here");
- output = GC_strndup(output_start, (size_t)(output_end - output_start));
+ int64_t trailing_spaces = 0;
+ while (output_end - trailing_spaces - 1 > output_start && (output_end[-trailing_spaces-1] == ' ' || output_end[-trailing_spaces-1] == '\t'))
+ ++trailing_spaces;
+ output = GC_strndup(output_start, (size_t)(output_end - output_start) - trailing_spaces);
pos = output_end;
} else {
pos = expr->end;