GDB (xrefs)
|
#include "defs.h"
#include "charset.h"
#include "gdbcmd.h"
#include "gdb_obstack.h"
#include "gdb_wait.h"
#include "charset-list.h"
#include "vec.h"
#include "environ.h"
#include "arch-utils.h"
#include "gdb_vecs.h"
#include <ctype.h>
Go to the source code of this file.
Classes | |
struct | wchar_iterator |
Macros | |
#define | GDB_DEFAULT_HOST_CHARSET "ISO-8859-1" |
#define | GDB_DEFAULT_TARGET_CHARSET "ISO-8859-1" |
#define | GDB_DEFAULT_TARGET_WIDE_CHARSET "ISO-8859-1" |
#define | DEFAULT_CHARSET_NAMES GDB_DEFAULT_HOST_CHARSET , |
#define | iconv_t int |
#define | iconv_open phony_iconv_open |
#define | iconv phony_iconv |
#define | iconv_close phony_iconv_close |
#define | ICONV_CONST const |
Functions | |
static iconv_t | phony_iconv_open (const char *to, const char *from) |
static int | phony_iconv_close (iconv_t arg) |
static size_t | phony_iconv (iconv_t utf_flag, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft) |
static void | show_host_charset_name (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | show_target_charset_name (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | show_target_wide_charset_name (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | set_be_le_names (struct gdbarch *gdbarch) |
static void | validate (struct gdbarch *gdbarch) |
static void | set_charset_sfunc (char *charset, int from_tty, struct cmd_list_element *c) |
static void | set_host_charset_sfunc (char *charset, int from_tty, struct cmd_list_element *c) |
static void | set_target_charset_sfunc (char *charset, int from_tty, struct cmd_list_element *c) |
static void | set_target_wide_charset_sfunc (char *charset, int from_tty, struct cmd_list_element *c) |
static void | show_charset (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *name) |
const char * | host_charset (void) |
const char * | target_charset (struct gdbarch *gdbarch) |
const char * | target_wide_charset (struct gdbarch *gdbarch) |
char | host_letter_to_control_character (char c) |
int | host_hex_value (char c) |
static void | cleanup_iconv (void *p) |
void | convert_between_encodings (const char *from, const char *to, const gdb_byte *bytes, unsigned int num_bytes, int width, struct obstack *output, enum transliterations translit) |
struct wchar_iterator * | make_wchar_iterator (const gdb_byte *input, size_t bytes, const char *charset, size_t width) |
static void | do_cleanup_iterator (void *p) |
struct cleanup * | make_cleanup_wchar_iterator (struct wchar_iterator *iter) |
int | wchar_iterate (struct wchar_iterator *iter, enum wchar_iterate_result *out_result, gdb_wchar_t **out_chars, const gdb_byte **ptr, size_t *len) |
static | VEC (char_ptr) |
const char * | default_auto_charset (void) |
const char * | default_auto_wide_charset (void) |
void | _initialize_charset (void) |
Variables | |
static const char * | auto_host_charset_name = GDB_DEFAULT_HOST_CHARSET |
static const char * | host_charset_name = "auto" |
static const char * | target_charset_name = "auto" |
static const char * | target_wide_charset_name = "auto" |
static const char * | default_charset_names [] |
static const char ** | charset_enum |
static const char * | target_wide_charset_be_name |
static const char * | target_wide_charset_le_name |
static struct gdbarch * | be_le_arch |
initialize_file_ftype | _initialize_charset |
static const char * | auto_target_charset_name = GDB_DEFAULT_TARGET_CHARSET |
#define DEFAULT_CHARSET_NAMES GDB_DEFAULT_HOST_CHARSET , |
#define GDB_DEFAULT_HOST_CHARSET "ISO-8859-1" |
Definition at line 80 of file charset.c.
Referenced by phony_iconv_open(), and VEC().
#define GDB_DEFAULT_TARGET_WIDE_CHARSET "ISO-8859-1" |
Definition at line 82 of file charset.c.
Referenced by default_auto_wide_charset().
#define iconv phony_iconv |
Definition at line 91 of file charset.c.
Referenced by convert_between_encodings(), and wchar_iterate().
#define iconv_close phony_iconv_close |
Definition at line 93 of file charset.c.
Referenced by cleanup_iconv(), do_cleanup_iterator(), and validate().
#define ICONV_CONST const |
Definition at line 96 of file charset.c.
Referenced by convert_between_encodings(), and wchar_iterate().
#define iconv_open phony_iconv_open |
Definition at line 89 of file charset.c.
Referenced by convert_between_encodings(), make_wchar_iterator(), and validate().
#define iconv_t int |
Definition at line 87 of file charset.c.
Referenced by cleanup_iconv(), convert_between_encodings(), make_wchar_iterator(), and validate().
void _initialize_charset | ( | void | ) |
Definition at line 1011 of file charset.c.
References _, add_setshow_enum_cmd(), auto_host_charset_name, class_support, CODESET, default_charset_names, nl_langinfo(), set_charset_sfunc(), set_host_charset_sfunc(), set_target_charset_sfunc(), set_target_wide_charset_sfunc(), setlist, show_charset(), show_host_charset_name(), show_target_charset_name(), show_target_wide_charset_name(), showlist, VEC_address, VEC_length, and VEC_safe_push.
|
static |
Definition at line 469 of file charset.c.
References iconv_close, and iconv_t.
Referenced by convert_between_encodings().
void convert_between_encodings | ( | const char * | from, |
const char * | to, | ||
const gdb_byte * | bytes, | ||
unsigned int | num_bytes, | ||
int | width, | ||
struct obstack * | output, | ||
enum transliterations | translit | ||
) |
Definition at line 476 of file charset.c.
References _, cleanup_iconv(), do_cleanups(), error(), iconv, ICONV_CONST, iconv_open, iconv_t, make_cleanup(), obstack_grow_str, perror_with_name(), translit_none, and xsnprintf().
Referenced by convert_ucn(), generic_emit_char(), generic_printstr(), host_char_to_target(), parse_one_string(), printf_wide_c_string(), and ui_printf().
const char* default_auto_charset | ( | void | ) |
Definition at line 934 of file charset.c.
References auto_target_charset_name.
Referenced by gdbarch_alloc().
const char* default_auto_wide_charset | ( | void | ) |
Definition at line 940 of file charset.c.
References GDB_DEFAULT_TARGET_WIDE_CHARSET.
Referenced by gdbarch_alloc().
|
static |
Definition at line 618 of file charset.c.
References wchar_iterator::desc, iconv_close, wchar_iterator::out, and xfree().
Referenced by make_cleanup_wchar_iterator().
const char* host_charset | ( | void | ) |
Definition at line 399 of file charset.c.
References auto_host_charset_name, and host_charset_name.
Referenced by bppy_get_commands(), bppy_get_condition(), bppy_get_expression(), bppy_get_location(), cmdpy_completer_helper(), cmdpy_function(), cmdscm_add_completion(), cmdscm_function(), frapy_name(), gdbpy_frame_stop_reason_string(), gdbpy_parameter_value(), gdbpy_solib_name(), gdbpy_target_charset(), gdbpy_target_wide_charset(), gdbscm_scm_from_host_string(), gdbscm_scm_to_host_string(), gdbscm_value_print(), generic_emit_char(), generic_printstr(), host_char_to_target(), objfpy_get_build_id(), objfpy_get_filename(), objfpy_get_username(), parse_one_string(), printf_wide_c_string(), pspy_get_filename(), python_string_to_host_string(), python_string_to_unicode(), stpy_fullname(), stpy_get_filename(), stpy_get_producer(), typy_str(), ui_printf(), validate(), valpy_str(), and VEC().
int host_hex_value | ( | char | c | ) |
Definition at line 453 of file charset.c.
References gdb_assert.
Referenced by convert_hex(), convert_octal(), convert_ucn(), mi_parse_escape(), objfpy_build_id_matches(), and parse_escape().
struct cleanup* make_cleanup_wchar_iterator | ( | struct wchar_iterator * | iter | ) |
Definition at line 628 of file charset.c.
References do_cleanup_iterator(), and make_cleanup().
Referenced by generic_emit_char(), and generic_printstr().
struct wchar_iterator* make_wchar_iterator | ( | const gdb_byte * | input, |
size_t | bytes, | ||
const char * | charset, | ||
size_t | width | ||
) |
Definition at line 595 of file charset.c.
References _, wchar_iterator::bytes, wchar_iterator::desc, iconv_open, iconv_t, wchar_iterator::input, INTERMEDIATE_ENCODING, wchar_iterator::out, wchar_iterator::out_size, perror_with_name(), and wchar_iterator::width.
Referenced by generic_emit_char(), and generic_printstr().
Definition at line 99 of file charset.c.
References GDB_DEFAULT_HOST_CHARSET.
|
static |
Definition at line 284 of file charset.c.
References gdbarch_auto_wide_charset(), len, and target_wide_charset_name.
Referenced by target_wide_charset().
|
static |
Definition at line 350 of file charset.c.
References get_current_arch(), host_charset_name, and validate().
Referenced by _initialize_charset().
|
static |
Definition at line 361 of file charset.c.
References get_current_arch(), and validate().
Referenced by _initialize_charset().
|
static |
Definition at line 369 of file charset.c.
References get_current_arch(), and validate().
Referenced by _initialize_charset().
|
static |
Definition at line 377 of file charset.c.
References get_current_arch(), and validate().
Referenced by _initialize_charset().
|
static |
Definition at line 385 of file charset.c.
References show_host_charset_name(), show_target_charset_name(), and show_target_wide_charset_name().
Referenced by _initialize_charset().
|
static |
Definition at line 219 of file charset.c.
References _, and fprintf_filtered().
Referenced by _initialize_charset(), and show_charset().
|
static |
Definition at line 233 of file charset.c.
References _, fprintf_filtered(), gdbarch_auto_charset(), and get_current_arch().
Referenced by _initialize_charset(), and show_charset().
|
static |
Definition at line 248 of file charset.c.
References _, fprintf_filtered(), gdbarch_auto_wide_charset(), and get_current_arch().
Referenced by _initialize_charset(), and show_charset().
Definition at line 407 of file charset.c.
References gdbarch_auto_charset(), and target_charset_name.
Referenced by charset_for_string_type(), f_get_encoding(), gdbpy_target_charset(), gdbscm_arch_charset(), host_char_to_target(), java_get_encoding(), parse_escape(), ppscm_print_string_repr(), unicode_to_target_python_string(), unicode_to_target_string(), validate(), and vlscm_convert_typed_value_from_scheme().
Definition at line 415 of file charset.c.
References gdbarch::byte_order, gdbarch_auto_wide_charset(), gdbarch_byte_order(), set_be_le_names(), target_wide_charset_be_name, target_wide_charset_le_name, and target_wide_charset_name.
Referenced by charset_for_string_type(), gdbpy_target_wide_charset(), gdbscm_arch_wide_charset(), printf_wide_c_string(), and ui_printf().
|
static |
Definition at line 322 of file charset.c.
References _, error(), gdbarch_auto_wide_charset(), host_charset(), iconv_close, iconv_open, iconv_t, target_charset(), and target_wide_charset_name.
Referenced by set_charset_sfunc(), set_host_charset_sfunc(), set_target_charset_sfunc(), and set_target_wide_charset_sfunc().
|
static |
Definition at line 729 of file charset.c.
References GDB_DEFAULT_HOST_CHARSET, and VEC_safe_push.
int wchar_iterate | ( | struct wchar_iterator * | iter, |
enum wchar_iterate_result * | out_result, | ||
gdb_wchar_t ** | out_chars, | ||
const gdb_byte ** | ptr, | ||
size_t * | len | ||
) |
Definition at line 634 of file charset.c.
References _, wchar_iterator::bytes, wchar_iterator::desc, iconv, ICONV_CONST, wchar_iterator::input, wchar_iterator::out, wchar_iterator::out_size, perror_with_name(), wchar_iterate_eof, wchar_iterate_incomplete, wchar_iterate_invalid, wchar_iterate_ok, wchar_iterator::width, and xrealloc().
Referenced by count_next_character(), and generic_emit_char().
initialize_file_ftype _initialize_charset |
|
static |
Definition at line 216 of file charset.c.
Referenced by _initialize_charset(), and host_charset().
|
static |
Definition at line 931 of file charset.c.
Referenced by default_auto_charset().
|
static |
Definition at line 263 of file charset.c.
Referenced by _initialize_charset().
|
static |
Definition at line 217 of file charset.c.
Referenced by host_charset(), and set_charset_sfunc().
|
static |
Definition at line 231 of file charset.c.
Referenced by target_charset().
|
static |
Definition at line 274 of file charset.c.
Referenced by target_wide_charset().
|
static |
Definition at line 275 of file charset.c.
Referenced by target_wide_charset().
|
static |
Definition at line 246 of file charset.c.
Referenced by set_be_le_names(), target_wide_charset(), and validate().