This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug python/16020] New: Print trailing nul in c++ std::string?
- From: "dje at google dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Tue, 08 Oct 2013 22:04:08 +0000
- Subject: [Bug python/16020] New: Print trailing nul in c++ std::string?
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=16020
Bug ID: 16020
Summary: Print trailing nul in c++ std::string?
Product: gdb
Version: HEAD
Status: NEW
Severity: normal
Priority: P2
Component: python
Assignee: unassigned at sourceware dot org
Reporter: dje at google dot com
Feel free to move this to libstdc++ if warranted, but most of the
pretty-printing of std strings is in gdb so I figured I'd start here.
[Whether printing of lazy strings correctly falls under category python or c++
or whatever ... feel free to correct that too.]
Consider:
#include <string>
#include <iostream>
using namespace std;
int
main (void)
{
static const char foo[] = "abc";
string foo0_str (foo, sizeof (foo));
string foo_str (foo, sizeof (foo) - 1);
cout << "foo0_str: \"" << foo0_str << "\"\n";
cout << "foo_str: \"" << foo_str << "\"\n";
return 0;
}
Here is the output:
$ ./trailing-nul.x64
foo0_str: "abc^@"
foo_str: "abc"
However, the trailing nul in foo0_str is not included in pretty-printed output:
(gdb) p foo0_str
$1 = "abc"
(gdb) p foo_str
$2 = "abc"
Bug?
--
You are receiving this mail because:
You are on the CC list for the bug.