aboutsummaryrefslogtreecommitdiff
path: root/utf8.h
diff options
context:
space:
mode:
Diffstat (limited to 'utf8.h')
-rw-r--r--utf8.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/utf8.h b/utf8.h
index 95e4358..fb353d9 100644
--- a/utf8.h
+++ b/utf8.h
@@ -4,6 +4,8 @@
#ifndef UTF8__H
#define UTF8__H
+#include "files.h"
+
#define UTF8_MAXCHARLEN 4
//
// Return the location of the next character or UTF8 codepoint.
@@ -30,15 +32,15 @@ static inline const char *next_char(file_t *f, const char *str)
__attribute__((nonnull, pure))
static inline const char *prev_char(file_t *f, const char *str)
{
- if (__builtin_expect(str-1 >= f->contents && (str[-1] & 0x80) == 0x0, 1))
+ if (__builtin_expect(str-1 >= f->start && (str[-1] & 0x80) == 0x0, 1))
return str-1;
- if (__builtin_expect(str-2 >= f->contents && (str[-2] & 0xe0) == 0xc0, 1))
+ if (__builtin_expect(str-2 >= f->start && (str[-2] & 0xe0) == 0xc0, 1))
return str-2;
- if (__builtin_expect(str-3 >= f->contents && (str[-3] & 0xf0) == 0xe0, 1))
+ if (__builtin_expect(str-3 >= f->start && (str[-3] & 0xf0) == 0xe0, 1))
return str-3;
- if (__builtin_expect(str-4 >= f->contents && (str[-4] & 0xf8) == 0xf0, 1))
+ if (__builtin_expect(str-4 >= f->start && (str[-4] & 0xf8) == 0xf0, 1))
return str-4;
- return __builtin_expect(str-1 >= f->contents, 1) ? str-1 : f->contents;
+ return __builtin_expect(str-1 >= f->start, 1) ? str-1 : f->start;
}
#endif
// vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1