]> mj.ucw.cz Git - libucw.git/commitdiff
libucw: removed utf8_check routine... it did not check correct UTF-8
authorPavel Charvat <pavel.charvat@netcentrum.cz>
Thu, 19 Jul 2007 11:48:47 +0000 (13:48 +0200)
committerPavel Charvat <pavel.charvat@netcentrum.cz>
Thu, 19 Jul 2007 11:48:47 +0000 (13:48 +0200)
anyway, only a subset

lib/unicode-utf8.c
lib/unicode.h

index a52e553c55b44372bf27fca72da8fe7cc7461b9b..e4a33af8495f216bcbade228c55ce271a8f0f23c 100644 (file)
@@ -36,35 +36,6 @@ utf8_strnlen(const byte *str, uns n)
   return len;
 }
 
-uns
-utf8_check(const byte *s)
-{
-#define UTF8_CHECK_NEXT if (unlikely((*s & 0xc0) != 0x80)) goto bad; s++
-  while (*s)
-    {
-      uns u = *s++;
-      if (u < 0x80)
-       ;
-      else if (unlikely(u < 0xc0))
-        {
-bad:
-         return 0;
-       }
-      else if (u < 0xe0)
-        {
-         UTF8_CHECK_NEXT;
-       }
-      else if (likely(u < 0xf0))
-        {
-         UTF8_CHECK_NEXT;
-         UTF8_CHECK_NEXT;
-       }
-      else
-       goto bad;
-    }
-  return 1;
-}
-
 #ifdef TEST
 #include <string.h>
 #include <stdio.h>
index 00256ff4b6f7f1af5d60bec18951de91bcd08b43..52ea5e687510c4ad1fdbefe6d602c30d5606a4b6 100644 (file)
@@ -212,6 +212,5 @@ utf8_encoding_len(uns c)
 
 uns utf8_strlen(const byte *str);
 uns utf8_strnlen(const byte *str, uns n);
-uns utf8_check(const byte *str);
 
 #endif