gdb
authorTom Tromey <tromey@redhat.com>
Wed, 3 Mar 2010 18:05:05 +0000 (18:05 +0000)
committerTom Tromey <tromey@redhat.com>
Wed, 3 Mar 2010 18:05:05 +0000 (18:05 +0000)
2010-03-03  Dainis Jonitis  <jonitis@gmail.com>
PR gdb/11345:
* printcmd.c (printf_command): Print end of format string using
printf_filtered.
gdb/testsuite
2010-03-03  Tom Tromey  <tromey@redhat.com>
PR gdb/11345:
* gdb.base/printcmds.exp (test_printf): Add test.

gdb/ChangeLog
gdb/printcmd.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/printcmds.exp

index 92a725422a4a7eec11879e695fd71cf41ede6302..6c347b5dc2e7b8ffb76df8e6acb9d89a9c9edfc4 100644 (file)
@@ -1,3 +1,9 @@
+2010-03-03  Dainis Jonitis  <jonitis@gmail.com>
+
+       PR gdb/11345:
+       * printcmd.c (printf_command): Print end of format string using
+       printf_filtered.
+
 2010-03-02  Tom Tromey  <tromey@redhat.com>
 
        * mi/mi-cmd-break.c (mi_read_next_line): Add missing 'void'.
index c8cb35c3c1864e7f02241dbb32dcafa01c3a7863..5e5ef8e1be2afcc9b0b681e6a4052eea1fc486c1 100644 (file)
@@ -2642,8 +2642,11 @@ printf_command (char *arg, int from_tty)
        /* Skip to the next substring.  */
        current_substring += strlen (current_substring) + 1;
       }
-    /* Print the portion of the format string after the last argument.  */
-    puts_filtered (last_arg);
+    /* Print the portion of the format string after the last argument.
+       Note that this will not include any ordinary %-specs, but it
+       might include "%%".  That is why we use printf_filtered and not
+       puts_filtered here.  */
+    printf_filtered (last_arg);
   }
   do_cleanups (old_cleanups);
 }
index 7bcc5126fbac23e75364b80cd0bab637ae7e12d5..7a555645e82e7278d9fe8ec5216b7e0b2a79cee5 100644 (file)
@@ -1,3 +1,8 @@
+2010-03-03  Tom Tromey  <tromey@redhat.com>
+
+       PR gdb/11345:
+       * gdb.base/printcmds.exp (test_printf): Add test.
+
 2010-03-02  H.J. Lu  <hongjiu.lu@intel.com>
 
        * gdb.arch/amd64-byte.exp: New.
index 5598bde2a9d71beae8d1ff7a6bfce7b9836abc66..9c2cd6be730ea99a69608a9fff65541781c897dc 100644 (file)
@@ -686,6 +686,10 @@ proc test_printf {} {
 
     # Regression test for C lexer bug.
     gdb_test "printf \"%c\\n\", \"x\"\[1,0\]" "x"
+
+    # Regression test for "%% at end of format string.
+    # See http://sourceware.org/bugzilla/show_bug.cgi?id=11345
+    gdb_test "printf \"%%%d%%\\n\", 5" "%5%"
 }
 
 #Test printing DFP values with printf