Move strnlen related code from chise.h to chise.c.
[chise/libchise.git] / chise.c
diff --git a/chise.c b/chise.c
index 6e8bb46..4681fe3 100644 (file)
--- a/chise.c
+++ b/chise.c
@@ -2,6 +2,22 @@
 #  include "config.h"
 #endif
 
+#ifndef HAVE_STRNLEN
+/* original in mysql, strings/strnlen.c.
+uint strnlen(register const char *s, register uint maxlen)
+{
+  const char *end= (const char *)memchr(s, '\0', maxlen);
+  return end ? (uint) (end - s) : maxlen;
+}
+*/
+static inline int
+strnlen (register const char *s, register int maxlen)
+{
+  const char *end= (const char *)memchr(s, '\0', maxlen);
+  return end ? (int) (end - s) : maxlen;
+}
+#endif
+
 #include "chise.h"
 
 #define xzero(lvalue) ((void) memset (&(lvalue), '\0', sizeof (lvalue)))