From 7dc2f832c19d8b5c682f5c9abd106ab6be53bf62 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Tue, 20 Dec 2016 16:41:57 +0100 Subject: fix %[ --- src/fe-common/core/formats.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/fe-common/core/formats.c b/src/fe-common/core/formats.c index a58d839a..9ce9bce5 100644 --- a/src/fe-common/core/formats.c +++ b/src/fe-common/core/formats.c @@ -68,7 +68,7 @@ static void format_expand_code(const char **format, GString *out, int *flags) if (flags == NULL) { /* flags are being ignored - skip the code */ - while (**format != ']') + while (**format != ']' && **format != '\0') (*format)++; return; } @@ -246,6 +246,10 @@ int format_expand_styles(GString *out, const char **format, int *flags) case '[': /* code */ format_expand_code(format, out, flags); + if ((*format)[0] == '\0') + /* oops, reached end prematurely */ + (*format)--; + break; case 'x': case 'X': -- cgit v1.2.3