charset.c: fix -Wpointer-sign
$ make WERROR_CFLAGS="-Wpointer-sign -Werror" charset.o 2>&1 1>/dev/null ../../src/gdb/charset.c: In function ‘wchar_iterate’: ../../src/gdb/charset.c:665:13: error: pointer targets in assignment differ in signedness [-Werror=pointer-sign] ../../src/gdb/charset.c:691:13: error: pointer targets in assignment differ in signedness [-Werror=pointer-sign] ../../src/gdb/charset.c:706:12: error: pointer targets in assignment differ in signedness [-Werror=pointer-sign] The encoding conversion code works with gdb_byte arrays as the generic buffers that hold strings of any encoding/width. Changing the type of this field to gdb_byte* removes the need for one cast, and makes everything work with the same types. That's good -- WRT to strings, "char *" is (almost) consistently throughout GDB only used for ascii-ish strings. gdb/ 2013-03-07 Pedro Alves <palves@redhat.com> * charset.c (struct wchar_iterator) <input>: Change type to 'const gdb_byte *'. (make_wchar_iterator): Remove cast to char*. (wchar_iterate): Change type of local.
This commit is contained in:
parent
a09b444817
commit
2898e56054
2 changed files with 10 additions and 3 deletions
|
@ -1,3 +1,10 @@
|
|||
2013-03-07 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* charset.c (struct wchar_iterator) <input>: Change type to 'const
|
||||
gdb_byte *'.
|
||||
(make_wchar_iterator): Remove cast to char*.
|
||||
(wchar_iterate): Change type of local.
|
||||
|
||||
2013-03-07 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* regcache.c (regcache_xmalloc_1): Call XCALLOC with signed char
|
||||
|
|
|
@ -571,7 +571,7 @@ struct wchar_iterator
|
|||
iconv_t desc;
|
||||
|
||||
/* The input string. This is updated as convert characters. */
|
||||
char *input;
|
||||
const gdb_byte *input;
|
||||
/* The number of bytes remaining in the input. */
|
||||
size_t bytes;
|
||||
|
||||
|
@ -597,7 +597,7 @@ make_wchar_iterator (const gdb_byte *input, size_t bytes,
|
|||
|
||||
result = XNEW (struct wchar_iterator);
|
||||
result->desc = desc;
|
||||
result->input = (char *) input;
|
||||
result->input = input;
|
||||
result->bytes = bytes;
|
||||
result->width = width;
|
||||
|
||||
|
@ -641,7 +641,7 @@ wchar_iterate (struct wchar_iterator *iter,
|
|||
while (iter->bytes > 0)
|
||||
{
|
||||
char *outptr = (char *) &iter->out[0];
|
||||
char *orig_inptr = iter->input;
|
||||
const gdb_byte *orig_inptr = iter->input;
|
||||
size_t orig_in = iter->bytes;
|
||||
size_t out_avail = out_request * sizeof (gdb_wchar_t);
|
||||
size_t num;
|
||||
|
|
Loading…
Reference in a new issue