Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1335)

Unified Diff: gdb/charset.c

Issue 124383005: GDB 7.6.50 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@upstream
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gdb/charset.h ('k') | gdb/charset-list.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gdb/charset.c
diff --git a/gdb/charset.c b/gdb/charset.c
index 89baf461f4a0b684efae74f6533e2717362af90c..1f44e8fc1c86108dd8080728bfae80d54f5f4301 100644
--- a/gdb/charset.c
+++ b/gdb/charset.c
@@ -1,6 +1,6 @@
/* Character set conversion support for GDB.
- Copyright (C) 2001, 2003, 2007-2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2013 Free Software Foundation, Inc.
This file is part of GDB.
@@ -30,7 +30,7 @@
#include "gdb_vecs.h"
#include <stddef.h>
-#include "gdb_string.h"
+#include <string.h>
#include <ctype.h>
#ifdef USE_WIN32API
@@ -474,7 +474,7 @@ convert_between_encodings (const char *from, const char *to,
iconv_t desc;
struct cleanup *cleanups;
size_t inleft;
- char *inp;
+ ICONV_CONST char *inp;
unsigned int space_request;
/* Often, the host and target charsets will be the same. */
@@ -490,7 +490,7 @@ convert_between_encodings (const char *from, const char *to,
cleanups = make_cleanup (cleanup_iconv, &desc);
inleft = num_bytes;
- inp = (char *) bytes;
+ inp = (ICONV_CONST char *) bytes;
space_request = num_bytes;
@@ -506,7 +506,7 @@ convert_between_encodings (const char *from, const char *to,
outp = obstack_base (output) + old_size;
outleft = space_request;
- r = iconv (desc, (ICONV_CONST char **) &inp, &inleft, &outp, &outleft);
+ r = iconv (desc, &inp, &inleft, &outp, &outleft);
/* Now make sure that the object on the obstack only includes
bytes we have converted. */
@@ -531,7 +531,7 @@ convert_between_encodings (const char *from, const char *to,
{
char octal[5];
- sprintf (octal, "\\%.3o", *inp & 0xff);
+ xsnprintf (octal, sizeof (octal), "\\%.3o", *inp & 0xff);
obstack_grow_str (output, octal);
++inp;
@@ -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;
@@ -640,14 +640,15 @@ wchar_iterate (struct wchar_iterator *iter,
out_request = 1;
while (iter->bytes > 0)
{
+ ICONV_CONST char *inptr = (ICONV_CONST char *) iter->input;
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;
- size_t r = iconv (iter->desc,
- (ICONV_CONST char **) &iter->input,
- &iter->bytes, &outptr, &out_avail);
+ size_t r = iconv (iter->desc, &inptr, &iter->bytes, &outptr, &out_avail);
+
+ iter->input = (gdb_byte *) inptr;
if (r == (size_t) -1)
{
@@ -965,7 +966,6 @@ intermediate_encoding (void)
iconv_t desc;
static const char *stored_result = NULL;
char *result;
- int i;
if (stored_result)
return stored_result;
« no previous file with comments | « gdb/charset.h ('k') | gdb/charset-list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698