asan: score: global-buffer-overflow
[deliverable/binutils-gdb.git] / gdb / charset.h
index 64aa58d8a296826fd4a33be1ba48a2daec287757..623a40a955f999f2a1c9e92132b5561cb00218ca 100644 (file)
@@ -1,5 +1,5 @@
 /* Character set conversion support for GDB.
-   Copyright (C) 2001-2016 Free Software Foundation, Inc.
+   Copyright (C) 2001-2019 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,7 @@
 #ifndef CHARSET_H
 #define CHARSET_H
 
-#include <vector>
+#include "gdbsupport/def-vector.h"
 
 /* If the target program uses a different character set than the host,
    GDB has some support for translating between the two; GDB converts
@@ -93,10 +93,8 @@ class wchar_iterator
      buffer.  CHARSET is the name of the character set in which INPUT is
      encoded.  WIDTH is the number of bytes in a base character of
      CHARSET.
-   
-     This function either returns a new character set iterator, or calls
-     error.  The result can be freed using a cleanup; see
-     make_cleanup_wchar_iterator.  */
+
+     This constructor can throw on error.  */
   wchar_iterator (const gdb_byte *input, size_t bytes, const char *charset,
                  size_t width);
 
@@ -131,7 +129,11 @@ class wchar_iterator
  private:
 
   /* The underlying iconv descriptor.  */
+#ifdef PHONY_ICONV
+  int m_desc;
+#else
   iconv_t m_desc;
+#endif
 
   /* The input string.  This is updated as we convert characters.  */
   const gdb_byte *m_input;
@@ -142,7 +144,7 @@ class wchar_iterator
   size_t m_width;
 
   /* The output buffer.  */
-  std::vector<gdb_wchar_t> m_out;
+  gdb::def_vector<gdb_wchar_t> m_out;
 };
 
 \f
This page took 0.025205 seconds and 4 git commands to generate.