From 28a9ce8ad8a18eaabca7cc0674624d32318fb3d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Sat, 25 Feb 2017 19:57:02 +0100 Subject: text: add iterator accessor function which translates \r\n to \n --- text.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'text.c') diff --git a/text.c b/text.c index f75a5e7..b8d5d90 100644 --- a/text.c +++ b/text.c @@ -1379,6 +1379,17 @@ bool text_iterator_byte_get(Iterator *it, char *b) { return false; } +bool text_iterator_char_get(Iterator *it, char *c) { + bool ret = text_iterator_byte_get(it, c); + if (ret && *c == '\r') { + char d; + if (text_iterator_byte_next(it, &d) && d == '\n') + *c = '\n'; + return text_iterator_byte_prev(it, NULL); + } + return ret; +} + bool text_iterator_next(Iterator *it) { return text_iterator_init(it, it->pos, it->piece ? it->piece->next : NULL, 0); } -- cgit v1.2.3