X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fcharset.c;h=5cfd2d803015ef6a5627c435037a9f86bdd84d6a;hb=788eca4949d08494109249d35cd599971ce6ec51;hp=64757ab279675afb3c821f11e7a5a94d0cb6771a;hpb=89eb3c547018af6a41ce9b3614cc2ab9a679168b;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/charset.c b/gdb/charset.c index 64757ab279..5cfd2d8030 100644 --- a/gdb/charset.c +++ b/gdb/charset.c @@ -1,6 +1,6 @@ /* Character set conversion support for GDB. - Copyright (C) 2001-2018 Free Software Foundation, Inc. + Copyright (C) 2001-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -21,12 +21,11 @@ #include "charset.h" #include "gdbcmd.h" #include "gdb_obstack.h" -#include "gdb_wait.h" +#include "gdbsupport/gdb_wait.h" #include "charset-list.h" -#include "vec.h" -#include "environ.h" +#include "gdbsupport/environ.h" #include "arch-utils.h" -#include "gdb_vecs.h" +#include "gdbsupport/gdb_vecs.h" #include #ifdef USE_WIN32API @@ -817,10 +816,9 @@ find_charset_names (void) #ifdef ICONV_BIN { - char *iconv_dir = relocate_gdb_directory (ICONV_BIN, - ICONV_BIN_RELOCATABLE); - iconv_program = concat (iconv_dir, SLASH_STRING, "iconv", NULL); - xfree (iconv_dir); + std::string iconv_dir = relocate_gdb_directory (ICONV_BIN, + ICONV_BIN_RELOCATABLE); + iconv_program = concat (iconv_dir.c_str(), SLASH_STRING, "iconv", NULL); } #else iconv_program = xstrdup ("iconv"); @@ -946,15 +944,9 @@ default_auto_wide_charset (void) #define ENDIAN_SUFFIX "LE" #endif -/* The code below serves to generate a compile time error if - gdb_wchar_t type is not of size 2 nor 4, despite the fact that - macro __STDC_ISO_10646__ is defined. - This is better than a gdb_assert call, because GDB cannot handle - strings correctly if this size is different. */ +/* GDB cannot handle strings correctly if this size is different. */ -extern char your_gdb_wchar_t_is_bogus[(sizeof (gdb_wchar_t) == 2 - || sizeof (gdb_wchar_t) == 4) - ? 1 : -1]; +gdb_static_assert (sizeof (gdb_wchar_t) == 2 || sizeof (gdb_wchar_t) == 4); /* intermediate_encoding returns the charset used internally by GDB to convert between target and host encodings. As the test above @@ -997,13 +989,14 @@ intermediate_encoding (void) /* Not valid, free the allocated memory. */ xfree (result); /* No valid charset found, generate error here. */ - error (_("Unable to find a vaild charset for string conversions")); + error (_("Unable to find a valid charset for string conversions")); } #endif /* USE_INTERMEDIATE_ENCODING_FUNCTION */ +void _initialize_charset (); void -_initialize_charset (void) +_initialize_charset () { /* The first element is always "auto". */ charsets.charsets.push_back (xstrdup ("auto"));