* src/vm/utf8.c, src/vm/utf8.h (utf_bytes): New function.
authoredwin <none@none>
Fri, 5 May 2006 13:56:35 +0000 (13:56 +0000)
committeredwin <none@none>
Fri, 5 May 2006 13:56:35 +0000 (13:56 +0000)
Use this function to query the number of octets of a utf string.
This function will become the correct replacement for the old
utf_strlen in most places. The calling code will have to be
reviewed for that, however, and it will also require fixing
utf_strcat, utf_sprint, and so on, to do the right thing.

src/vm/utf8.c
src/vm/utf8.h

index 0c854744edc2b0e422eb808d9dad43689dae8ffc..89c9d4600ee1e0015c445b7786b2ae3699640d74 100644 (file)
@@ -30,7 +30,7 @@
             Andreas Krall
             Christian Thalinger
 
-   $Id: utf8.c 4872 2006-05-05 13:48:25Z edwin $
+   $Id: utf8.c 4873 2006-05-05 13:56:35Z edwin $
 
 */
 
@@ -790,6 +790,24 @@ u2 utf_nextu2(char **utf_ptr)
 }
 
 
+/* utf_bytes *******************************************************************
+
+   Determine number of bytes (aka. octets) in the utf string.
+
+   IN:
+      u............utf string
+
+   OUT:
+      The number of octets of this utf string.
+         There is _no_ terminating zero included in this count.
+
+*******************************************************************************/
+
+u4 utf_bytes(utf *u)
+{
+       return u->blength;
+}
+
 /* utf_get_number_of_u2s *******************************************************
 
    Determine number of UTF-16 u2s in the utf string.
index a470d4dcabc4ec18a08d24e30f16570196f9b69e..600fdfa48bacdf38848690c799d64eb86c39f6e5 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes:
 
-   $Id: utf8.h 4872 2006-05-05 13:48:25Z edwin $
+   $Id: utf8.h 4873 2006-05-05 13:56:35Z edwin $
 
 */
 
@@ -183,6 +183,9 @@ utf *utf_new_u2(u2 *unicodedata, u4 unicodelength, bool isclassname);
 utf *utf_new_char(const char *text);
 utf *utf_new_char_classname(const char *text);
 
+/* get number of bytes */
+u4 utf_bytes(utf *u);
+
 /* get next unicode character of a utf-string */
 u2 utf_nextu2(char **utf);