From 0dfe5bfbb7e7a3e55c57d1b59c265dc1a3cd9fc7 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 22 Sep 2019 16:06:03 -0600 Subject: Don't create empty literal pieces I noticed that format_pieces can create an empty literal piece. However, there's never a need for one, so this patch removes the possibility. gdb/ChangeLog 2019-10-01 Tom Tromey * unittests/format_pieces-selftests.c: Update. Add final format. * gdbsupport/format.c (format_pieces::format_pieces): Don't add empty literal pieces. --- gdb/unittests/format_pieces-selftests.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gdb/unittests') diff --git a/gdb/unittests/format_pieces-selftests.c b/gdb/unittests/format_pieces-selftests.c index 7d31b3c..862b2da 100644 --- a/gdb/unittests/format_pieces-selftests.c +++ b/gdb/unittests/format_pieces-selftests.c @@ -48,13 +48,15 @@ test_escape_sequences () static void test_format_specifier () { - check ("Hello %d%llx%%d", /* ARI: %ll */ + /* The format string here ends with a % sequence, to ensure we don't + see a trailing empty literal piece. */ + check ("Hello %d%llx%%d%d", /* ARI: %ll */ { format_piece ("Hello ", literal_piece), format_piece ("%d", int_arg), - format_piece ("", literal_piece), format_piece ("%llx", long_long_arg), /* ARI: %ll */ format_piece ("%%d", literal_piece), + format_piece ("%d", int_arg), }); } -- cgit v1.1