Changed to use U8S_NAME macro.
authorethereal <ethereal@ethv.net>
Sun, 26 Jan 2014 22:46:17 +0000 (15:46 -0700)
committerethereal <ethereal@ethv.net>
Sun, 26 Jan 2014 22:46:17 +0000 (15:46 -0700)
src/u8s.c
src/u8s.h

index 9733fda..d6dbb52 100644 (file)
--- a/src/u8s.c
+++ b/src/u8s.c
@@ -3,7 +3,7 @@
 
 #include "u8s.h"
 
-u8s_cptr u8s_next(u8s_cptr str) {
+U8S_NAME(cptr) U8S_NAME(next)(U8S_NAME(cptr) str) {
     // non-extended character?
     if((*str & 0xc0) == 0x0) return str+1;
     // the annoying case, in the middle of a character
@@ -27,22 +27,22 @@ u8s_cptr u8s_next(u8s_cptr str) {
     return str+1;
 }
 
-size_t u8s_strlen(u8s_cptr str) {
+size_t U8S_NAME(strlen)(U8S_NAME(cptr) str) {
     size_t result = 0;
     while(*str != 0) {
-        str = u8s_next(str);
+        str = U8S_NAME(next)(str);
         result ++;
     }
     return result;
 }
 
-size_t u8s_strlenb(u8s_cptr str) {
+size_t U8S_NAME(strlenb)(U8S_NAME(cptr) str) {
     size_t result = 0;
     while(*str != 0) str ++, result ++;
     return result;
 }
 
-u8s_ptr u8s_strcpy(u8s_ptr target, u8s_cptr src) {
+U8S_NAME(ptr) U8S_NAME(strcpy)(U8S_NAME(ptr) target, U8S_NAME(cptr) src) {
     do {
         *(target ++) = *(src ++);
     } while(*src != 0);
@@ -50,10 +50,12 @@ u8s_ptr u8s_strcpy(u8s_ptr target, u8s_cptr src) {
     return target;
 }
 
-u8s_ptr u8s_strncpy(u8s_ptr target, u8s_cptr src, size_t bufsiz) {
+U8S_NAME(ptr) U8S_NAME(strncpy)(U8S_NAME(ptr) target, U8S_NAME(cptr) src,
+    size_t bufsiz) {
+
     size_t used = 0;
     while(*src != 0) {
-        u8s_cptr next = u8s_next(src);
+        U8S_NAME(cptr) next = U8S_NAME(next)(src);
         ptrdiff_t len = next-src;
         if(used+len >= bufsiz) break;
         memcpy(target, src, len);
@@ -63,14 +65,14 @@ u8s_ptr u8s_strncpy(u8s_ptr target, u8s_cptr src, size_t bufsiz) {
     return target;
 }
 
-int u8s_strcmp(u8s_cptr a, u8s_cptr b) {
-    return u8s_strncmp(a, b, (unsigned)-1);
+int U8S_NAME(strcmp)(U8S_NAME(cptr) a, U8S_NAME(cptr) b) {
+    return U8S_NAME(strncmp)(a, b, (unsigned)-1);
 }
 
-int u8s_strncmp(u8s_cptr a, u8s_cptr b, size_t bufsiz) {
+int U8S_NAME(strncmp)(U8S_NAME(cptr) a, U8S_NAME(cptr) b, size_t bufsiz) {
     return strncmp(a, b, bufsiz);
 }
 
-u8s_ptr u8s_strdup(u8s_cptr s) {
-    return u8s_strcpy(malloc(u8s_strlenb(s)), s);
+U8S_NAME(ptr) U8S_NAME(strdup)(U8S_NAME(cptr) s) {
+    return U8S_NAME(strcpy)(malloc(U8S_NAME(strlenb(s))), s);
 }
index d8a9a32..7dee58c 100644 (file)
--- a/src/u8s.h
+++ b/src/u8s.h
@@ -3,28 +3,31 @@
 
 #include <stddef.h>
 
-typedef char * u8s_ptr;
-typedef const char * u8s_cptr;
+#define U8S_NAME(n) u8s_ ## n
+
+typedef char * U8S_NAME(ptr);
+typedef const char * U8S_NAME(cptr);
 
 /* Get beginning of next UTF-8 character. */
-u8s_cptr u8s_next(u8s_cptr str);
+U8S_NAME(cptr) U8S_NAME(next)(U8S_NAME(cptr) str);
 /* Get length of UTF-8 string in characters. */
-size_t u8s_strlen(u8s_cptr str);
+size_t U8S_NAME(strlen)(U8S_NAME(cptr) str);
 /* Get length of UTF-8 string in bytes. */
-size_t u8s_strlenb(u8s_cptr str);
+size_t U8S_NAME(strlenb)(U8S_NAME(cptr) str);
 /* Copy UTF-8 string into target. */
-u8s_ptr u8s_strcpy(u8s_ptr target, u8s_cptr src);
+U8S_NAME(ptr) U8S_NAME(strcpy)(U8S_NAME(ptr) target, U8S_NAME(cptr) src);
 /* Copy at most bufsiz bytes of the source UTF-8 string into target, respecting
     UTF-8 character boundaries, and ensuring that the target is
     NULL-terminated. */
-u8s_ptr u8s_strncpy(u8s_ptr target, u8s_cptr src, size_t bufsiz);
+U8S_NAME(ptr) U8S_NAME(strncpy)(U8S_NAME(ptr) target, U8S_NAME(cptr) src,
+    size_t bufsiz);
 /* Compare two NULL-terminated UTF-8 strings. */
-int u8s_strcmp(u8s_cptr a, u8s_cptr b);
+int U8S_NAME(strcmp)(U8S_NAME(cptr) a, U8S_NAME(cptr) b);
 /* Compare at most the first bufsiz bytes of two possibly non-NULL-terminated
     UTF-8 strings. */
-int u8s_strncmp(u8s_cptr a, u8s_cptr b, size_t bufsiz);
+int U8S_NAME(strncmp)(U8S_NAME(cptr) a, U8S_NAME(cptr) b, size_t bufsiz);
 /* Create a copy of a NULL-terminated UTF-8 string with memory allocated via
     malloc(). */
-u8s_ptr u8s_strdup(u8s_cptr s);
+U8S_NAME(ptr) U8S_NAME(strdup)(U8S_NAME(cptr) s);
 
 #endif