diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2014-07-02 21:14:01 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2014-07-05 12:10:06 +0100 |
| commit | ed68d1ff287d43c5293abb4d41e908aa8e50afec (patch) | |
| tree | b5ab042ba67259a63b2aa0ae99ad74a5bc646a7f /src/ncurses.cc | |
| parent | 3f70d91f8c716ef2dbc76abb9c878f86ecb946f7 (diff) | |
utf8: use end of sequence iterators for more security
Diffstat (limited to 'src/ncurses.cc')
| -rw-r--r-- | src/ncurses.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/ncurses.cc b/src/ncurses.cc index 0b571fd3..cd5bfde4 100644 --- a/src/ncurses.cc +++ b/src/ncurses.cc @@ -207,7 +207,7 @@ void NCursesUI::refresh() m_dirty = false; } -using Utf8Policy = utf8::InvalidBytePolicy::Pass; +using Utf8Policy = utf8::InvalidPolicy::Pass; using Utf8Iterator = utf8::iterator<const char*, Utf8Policy>; void addutf8str(WINDOW* win, Utf8Iterator begin, Utf8Iterator end) { @@ -408,8 +408,9 @@ Key NCursesUI::get_key() int operator*() { return getch(); } getch_iterator& operator++() { return *this; } getch_iterator& operator++(int) { return *this; } + bool operator== (const getch_iterator&) const { return false; } }; - return utf8::codepoint(getch_iterator{}); + return utf8::codepoint(getch_iterator{}, getch_iterator{}); } return Key::Invalid; } |
