]> mj.ucw.cz Git - libucw.git/blobdiff - charset/strlen.c
Renamed tabgen to gen-charconv.
[libucw.git] / charset / strlen.c
index b1f282b15d12f0b5275b778bd7ffe861405a3b8e..1fb0f7562a46657cb34076357945145cb4f54494 100644 (file)
@@ -1,9 +1,14 @@
 /*
  *     The UniCode Library -- String Length
  *
- *     (c) 1997 Martin Mares, <mj@atrey.karlin.mff.cuni.cz>
+ *     (c) 1997--2003 Martin Mares <mj@ucw.cz>
+ *     (c) 2003 Robert Spalek <robert@ucw.cz>
+ *
+ *     This software may be freely distributed and used according to the terms
+ *     of the GNU Lesser General Public License.
  */
 
+#include "lib/lib.h"
 #include "charset/unicode.h"
 
 uns
@@ -15,3 +20,28 @@ Ustrlen(word *w)
     z++;
   return z - w;
 }
+
+uns
+utf8_strlen(byte *str)
+{
+  uns len = 0;
+  while (*str)
+    {
+      UTF8_SKIP(str);
+      len++;
+    }
+  return len;
+}
+
+uns
+utf8_strnlen(byte *str, uns n)
+{
+  uns len = 0;
+  byte *end = str + n;
+  while (str < end)
+    {
+      UTF8_SKIP(str);
+      len++;
+    }
+  return len;
+}