diff options
| -rw-r--r-- | src/work.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -465,7 +465,12 @@ compute_pos(const char8_t *p, pos_state_t *ps) unsigned char c = *ps->buf.p; if (__builtin_expect(isascii(c), 1)) { /* ASCII fast path */ ps->buf.p++; - if (c == '\r' || c == '\n' || c == '\v' || c == '\f') { + if (c == '\n' || c == '\v' || c == '\f') { + ps->row++; + ps->col = 0; + } else if (c == '\r') { + if (ps->buf.p < p && *ps->buf.p == '\n') + ps->buf.p++; ps->row++; ps->col = 0; } else if (c == '\t') |