There was a conflict on the CVS server between MoreUTF8.h (an old file)

and moreUTF8.h, so they were removed by the nice people at SourceForge.
I am adding the good file back.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5739 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
mahlzeit
2003-12-23 14:07:33 +00:00
parent 5c4135222d
commit 20d32b2c37
+45
View File
@@ -0,0 +1,45 @@
#ifndef __MOREUTF8
#define __MOREUTF8
static inline bool
IsInsideGlyph(uchar ch)
{
return (ch & 0xC0) == 0x80;
}
static inline uint32
UTF8NextCharLen(const char *text)
{
const char *ptr = text;
if (ptr == NULL || *ptr == 0)
return 0;
do {
ptr++;
} while (IsInsideGlyph(*ptr));
return ptr - text;
}
static inline uint32
UTF8PreviousCharLen(const char *text, const char *limit)
{
const char *ptr = text;
if (ptr == NULL || limit == NULL)
return 0;
do {
if (ptr == limit)
break;
ptr--;
} while (IsInsideGlyph(*ptr));
return text - ptr;
}
#endif