(strnlen): New inline function when HAVE_STRNLEN is not defined
authortomo <tomo>
Mon, 7 Jul 2003 10:17:38 +0000 (10:17 +0000)
committertomo <tomo>
Mon, 7 Jul 2003 10:17:38 +0000 (10:17 +0000)
[based on Izumi MIYAZAKI <imiyazaki@bun.kyoto-u.ac.jp>'s patch].

chise.h

diff --git a/chise.h b/chise.h
index 783df88..e384802 100644 (file)
--- a/chise.h
+++ b/chise.h
@@ -3,6 +3,25 @@
 #include <db.h>
 #include <errno.h>
 
+#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
+
 
 typedef enum CHISE_DS_Type
 {