summaryrefslogtreecommitdiff
path: root/src/ncurses.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2014-07-02 21:14:01 +0100
committerMaxime Coste <frrrwww@gmail.com>2014-07-05 12:10:06 +0100
commited68d1ff287d43c5293abb4d41e908aa8e50afec (patch)
treeb5ab042ba67259a63b2aa0ae99ad74a5bc646a7f /src/ncurses.cc
parent3f70d91f8c716ef2dbc76abb9c878f86ecb946f7 (diff)
utf8: use end of sequence iterators for more security
Diffstat (limited to 'src/ncurses.cc')
-rw-r--r--src/ncurses.cc5
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;
}