* c-lang.c (c_printstr): If a C string ends in a null, don't
authorJohn Gilmore <gnu@cygnus>
Thu, 18 Feb 1993 12:18:23 +0000 (12:18 +0000)
committerJohn Gilmore <gnu@cygnus>
Thu, 18 Feb 1993 12:18:23 +0000 (12:18 +0000)
print the null.

gdb/ChangeLog
gdb/c-lang.c

index 5c98abaa054c5c3d6ed60a3294ba281676fb6b50..b528a9977c9152b314b8597e846a9510df72c690 100644 (file)
@@ -1,3 +1,8 @@
+Thu Feb 18 04:10:06 1993  John Gilmore  (gnu@cygnus.com)
+
+       * c-lang.c (c_printstr):  If a C string ends in a null, don't
+       print the null.
+
 Thu Feb 18 02:39:21 1993  Stu Grossman  (grossman at cygnus.com)
 
        * defs.h (STRCMP):  Make it work for unsigned chars.
index df882100f1a3df460cac4ced0b738a9325feeeb7..bfa03d0a590f080a4358f295a1b3e2d38f867c0d 100644 (file)
@@ -1,5 +1,5 @@
 /* C language support routines for GDB, the GNU debugger.
-   Copyright 1992 Free Software Foundation, Inc.
+   Copyright 1992, 1993 Free Software Foundation, Inc.
 
 This file is part of GDB.
 
@@ -108,6 +108,12 @@ c_printstr (stream, string, length, force_ellipses)
   extern int repeat_count_threshold;
   extern int print_max;
 
+  /* If the string was not truncated due to `set print elements', and
+     the last byte of it is a null, we don't print that, in traditional C
+     style.  */
+  if ((!force_ellipses) && string[length-1] == '\0')
+    length--;
+
   if (length == 0)
     {
       fputs_filtered ("\"\"", stdout);