From: "jistone at redhat dot com" <sourceware-bugzilla@sourceware.org>
To: systemtap@sourceware.org
Subject: [Bug translator/14431] char * always being printed as, possibly INVALID/NULL "<unknown>", string without giving actual address
Date: Mon, 06 Aug 2012 17:24:00 -0000 [thread overview]
Message-ID: <bug-14431-6586-seDKaSJpsD@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-14431-6586@http.sourceware.org/bugzilla/>
http://sourceware.org/bugzilla/show_bug.cgi?id=14431
--- Comment #4 from Josh Stone <jistone at redhat dot com> 2012-08-06 17:24:42 UTC ---
(In reply to comment #3)
> (In reply to comment #2)
> >
> > It's tough to automagically do The Right Thing without knowing what the user is
> > looking for.
>
> Yes, that is why we should just give all information instead of guessing what
> the user wants.
But too much information will make it difficult to read.
> > And in some cases, especially with kernel pointers, the %p may
> > overshadow the actual string, something like:
> >
> > > {.foo=""@0xffffffffffcb4010, .foo_size=42, .bar=""@0xffffffffffcb4050, .bar_size=47}
>
> What do you mean by overshadow?
I meant that since the value of kernel pointers on 64-bit will always take 16
characters, it clutters the output quite a bit. That may be a matter of
opinion, but this is supposed to be "pretty" printing.
> I think this example shows nicely why you always want the address, since the
> strings look the same (are empty - by accident?), but clearly they are not the
> same since they are at different addresses.
If you really are looking just for string values, then the memory addresses of
those strings are irrelevant.
> I do like the usage of plain ? instead of "<unknown>".
Note the difference that I proposed it *without* quotes, so it's clear that the
string is not really "?".
> > for people who know they want something
> > different, like all pointer addresses, they can always roll their own
> > pretty-print.
>
> Is that really that simple? I wasn't able to do that easily. Except by printing
> the fields individually with my own identifiers.
Yes, you'd print fields yourself individually to get the formatting you really
want.
We can't be all things to all people with a heuristic like pretty printing. I
tried to make it as simple-yet-useful as possible, to hopefully capture most
cases. Another example is chasing & expanding struct pointers, which we
decided was too difficult to get "right" without cluttering the general case.
So here you have "possibly invalid char*", or worse "valid char* to a
non-string" - I'm not sure we can fully address this without making the "char*
pointing to a string" case worse.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
next prev parent reply other threads:[~2012-08-06 17:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-03 10:30 [Bug translator/14431] New: NULL/invalid char * pretty printed as "<unknown>" string mjw at redhat dot com
2012-08-04 22:58 ` [Bug translator/14431] " mjw at redhat dot com
2012-08-05 20:29 ` jistone at redhat dot com
2012-08-06 8:43 ` [Bug translator/14431] char * always being printed as, possibly INVALID/NULL "<unknown>", string without giving actual address mjw at redhat dot com
2012-08-06 15:32 ` mjw at redhat dot com
2012-08-06 17:24 ` jistone at redhat dot com [this message]
2012-08-06 18:59 ` mjw at redhat dot com
2015-10-21 18:50 ` fche at redhat dot com
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bug-14431-6586-seDKaSJpsD@http.sourceware.org/bugzilla/ \
--to=sourceware-bugzilla@sourceware.org \
--cc=systemtap@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).