Turn wchar iterator into a class
authorTom Tromey <tom@tromey.com>
Fri, 23 Sep 2016 03:16:53 +0000 (21:16 -0600)
committerTom Tromey <tom@tromey.com>
Thu, 13 Oct 2016 01:43:16 +0000 (19:43 -0600)
commitcda6c55bd399a8892d62178d4daeb074def909e0
treed83fa6dba674729cc8cf978824995f03bbf8ca5e
parent816d7b53047bca81c226990bc9248d59d80d4b8b
Turn wchar iterator into a class

This changes wchar_iterator from charset.c into a real C++ class, then
updates the users to use the class.  This lets us remove some cleanups
in favor of the class' destructor.

2016-10-12  Tom Tromey  <tom@tromey.com>

* valprint.c (generic_emit_char, count_next_character)
(generic_printstr): Update.
* charset.c (struct wchar_iterator): Move to charset.h.
(wchar_iterator::wchar_iterator): Rename from
make_wchar_iterator, turn into a constructor.
(wchar_iterator::~wchar_iterator): Rename from
do_cleanup_iterator, turn into a destructor.
(make_cleanup_wchar_iterator): Remove.
(wchar_iterator::iterate): Rename from wchar_iterate.  Remove
"iter" argument.  Update.
* charset.h: Include <vector>.
(class wchar_iterator): New class, from old struct
wchar_iterator.
(make_wchar_iterator, make_cleanup_wchar_iterator): Don't
declare.
gdb/ChangeLog
gdb/charset.c
gdb/charset.h
gdb/valprint.c