]> git.sur5r.net Git - openldap/blobdiff - include/ac/string.h
Unexpand spaces for tabs in prior commit before merging to rel_eng_1_1.
[openldap] / include / ac / string.h
index 147976fc68b5d3e9c42c18914b3e5db6caaaad89..6a64074e6fa8623f69b6726897825767398ca3a4 100644 (file)
@@ -5,30 +5,58 @@
 
 #ifdef STDC_HEADERS
 #      include <string.h>
+
 #else
-#      ifndef HAVE_STRCHR
+#      ifdef HAVE_STRING_H
+#              include <string.h>
+#      elif HAVE_STRINGS_H
+#              include <strings.h>
+#      endif
+
+#      ifdef HAVE_MEMORY_H
+#              include <memory.h>
+#      endif
+
+       /* we should actually create <ac/stdlib.h> */
+#      ifdef HAVE_MALLOC_H
+#              include <malloc.h>
+#      endif
+
+#      ifndef HAVE_STRRCHR
 #              define strchr index
 #              define strrchr rindex
 #      endif
-       char *strchr (), *strrchr ();
 
 #      ifndef HAVE_MEMCPY
-#              define memcpy(d, s, n)                  bcopy ((s), (d), (n))
-#              define memmove(d, s, n)                 bcopy ((s), (d), (n))
+#              define memcpy(d, s, n)          ((void) bcopy ((s), (d), (n)))
+#              define memmove(d, s, n)         ((void) bcopy ((s), (d), (n)))
 #      endif
 #endif
 
+#ifndef HAVE_STRDUP
+       /* strdup() is missing, declare our own version */
+       extern char *strdup( const char *s );
+#else
+       /* some systems have strdup, but fail to declare it */
+       extern char *strdup();
+#endif
+
+/*
+ * some systems fail to declare strcasecmp() and strncasecmp()
+ * we need them declared so we can obtain pointers to them
+ */
+extern int strcasecmp(), strncasecmp();
+
 #ifndef SAFEMEMCPY
 #      if defined( HAVE_MEMMOVE )
 #              define SAFEMEMCPY( d, s, n )    memmove((d), (s), (n))
 #      elif defined( HAVE_BCOPY )
 #              define SAFEMEMCPY( d, s, n )    bcopy((s), (d), (n))
-#      elif defined( MACOS )
-#              define SAFEMEMCPY( d, s, n )    BlockMoveData((Ptr)(s), (Ptr)(d), (n))
 #      else
                /* nothing left but memcpy() */
 #              define SAFEMEMCPY( d, s, n )    memcpy((d), (s), (n))
 #      endif
 #endif
 
+
 #endif /* _AC_STRING_H */