From: Paul Koning <pkoning@equallogic.com>
To: mark.kettenis@xs4all.nl
Cc: drow@false.org, eliz@gnu.org, dewar@adacore.com,
nickrob@snap.net.nz, jan.kratochvil@redhat.com,
Mathieu.Lacage@sophia.inria.fr, gdb@sourceware.org
Subject: Re: [RFC] Signed/unsigned character arrays are not strings
Date: Wed, 28 Feb 2007 00:47:00 -0000 [thread overview]
Message-ID: <17892.45762.519048.501270@gargle.gargle.HOWL> (raw)
In-Reply-To: <200702272211.l1RMBVvI028239@brahms.sibelius.xs4all.nl>
>>>>> "Mark" == Mark Kettenis <mark.kettenis@xs4all.nl> writes:
>> Date: Tue, 27 Feb 2007 16:53:16 -0500 From: Daniel Jacobowitz
>> <drow@false.org>
>>
>> On Tue, Feb 27, 2007 at 11:06:17PM +0200, Eli Zaretskii wrote: >
>> Doesn't a similar situation exist with "unsigned int" and "int",
>> or > with "unsigned long" and "long"? And yet we don't treat them
>> > differently.
>> >
>> > IOW, I think it's quite expected that explicit signedness is >
>> relatively rare, since in the vast majority of cases it is simply
>> not > needed. Interpreting this phenomenon as saying something
>> about what > kind of data is stored is not necessarily a good
>> idea.
>>
>> I feel that this is different for two reasons. One is that the
>> situation for int and long is not the same, because "int" and
>> "signed int" are the same type in C - but "char" and "signed char"
>> are not. Char is explicitly of indeterminate sign. The other is
>> that there is a widespread use of "char" for string data and
>> "signed char" or "unsigned char" for non-string data.
Mark> Well, "char" really is "signed char" on most machines and
Mark> "unsigned char" on others. One way to prevent the
Mark> sign-extension problems this sometimes causes, is to explicitly
Mark> use "unsigned char *" for strings.
Right. For example, if you do string manipulation by table lookup on
the characters, then this is a good thing to do. (It avoids the
painful 384 entry table hacks you otherwise need.)
Mark> Anyway, I'm in favour of restore the traditional gdb behaviour
Mark> of printing all three as strings.
Same here.
paul
next prev parent reply other threads:[~2007-02-27 22:38 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-24 16:13 Nick Roberts
2007-02-24 20:11 ` Daniel Jacobowitz
2007-02-24 20:53 ` Nick Roberts
2007-02-24 21:07 ` Jan Kratochvil
2007-02-25 8:00 ` Daniel Jacobowitz
2007-02-25 19:54 ` Nick Roberts
2007-02-25 21:07 ` mathieu lacage
2007-02-26 0:45 ` Jan Kratochvil
2007-02-27 7:17 ` Eli Zaretskii
2007-02-27 9:29 ` Daniel Jacobowitz
2007-02-27 12:02 ` Nick Roberts
2007-02-27 17:06 ` Robert Dewar
2007-02-27 18:42 ` Daniel Jacobowitz
2007-02-27 21:53 ` Eli Zaretskii
2007-02-27 22:12 ` Daniel Jacobowitz
2007-02-27 22:14 ` Mark Kettenis
2007-02-28 0:47 ` Paul Koning [this message]
2007-02-28 1:14 ` Jim Blandy
2007-02-28 1:59 ` Jim Blandy
2007-02-28 5:26 ` Nick Roberts
2007-02-28 14:35 ` Daniel Jacobowitz
2007-03-01 0:43 ` Jim Blandy
2007-03-01 0:54 ` Nick Roberts
2007-02-27 21:47 ` Eli Zaretskii
2007-02-27 22:12 ` Daniel Jacobowitz
2007-04-10 21:59 ` Daniel Jacobowitz
2007-02-28 13:05 pkoning
2007-03-01 11:01 ` Mark Kettenis
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=17892.45762.519048.501270@gargle.gargle.HOWL \
--to=pkoning@equallogic.com \
--cc=Mathieu.Lacage@sophia.inria.fr \
--cc=dewar@adacore.com \
--cc=drow@false.org \
--cc=eliz@gnu.org \
--cc=gdb@sourceware.org \
--cc=jan.kratochvil@redhat.com \
--cc=mark.kettenis@xs4all.nl \
--cc=nickrob@snap.net.nz \
/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