[RFC] Signed/unsigned character arrays are not strings

pkoning@equallogic.com pkoning@equallogic.com
Wed Feb 28 13:05:00 GMT 2007


> Okay, here's a horrible idea.  :)  With this patch:
> 
> $ cat chars.c
> #include <stdio.h>
> #include <stdint.h>
> 
> typedef char byte_t;
> 
> char *c = "chars";
> unsigned char *uc = "unsigned chars";
> signed char *sc = "signed chars";
> byte_t *b = "bytes";
> int8_t *i8 = "int8_t's";
> uint8_t *ui8 = "uint8_t's";

Neat.

I would tweak it a little.  People might be using typedefs
for character strings that wrap, say, "unsigned char".
So if you're going to do a heuristic on the name, treat
it as a character string if the name ends in "char" (not 
necessarily with a preceding space) or "char_t" (because
many people use _t as the suffix for typedef names).

	paul



More information about the Gdb mailing list