4 * Copyright 1998-2000 The OpenLDAP Foundation, Redwood City, California, USA
7 * Redistribution and use in source and binary forms are permitted only
8 * as authorized by the OpenLDAP Public License. A copy of this
9 * license is available at http://www.OpenLDAP.org/license.html or
10 * in file LICENSE in the top-level directory of the distribution.
34 # define strrchr rindex
39 # define memcpy(d, s, n) ((void) bcopy ((s), (d), (n)))
41 # define memmove(d, s, n) ((void) bcopy ((s), (d), (n)))
45 /* use ldap_pvt_strtok instead of strtok or strtok_r! */
46 LIBLDAP_F(char *) ldap_pvt_strtok LDAP_P(( char *str, const char *delim,
49 LIBLDAP_F(char *) ldap_pvt_strdup LDAP_P(( const char * s ));
52 /* strdup() is missing, declare our own version */
54 # define strdup(s) ldap_pvt_strdup(s)
56 /* some systems fail to declare strdup */
57 LIBC_F(char *) (strdup)();
61 * some systems fail to declare strcasecmp() and strncasecmp()
62 * we need them declared so we can obtain pointers to them
65 /* In Mingw32, strcasecmp is not in the C library, so we don't LIBC_F it */
70 # if defined( HAVE_MEMMOVE )
71 # define SAFEMEMCPY( d, s, n ) memmove((d), (s), (n))
72 # elif defined( HAVE_BCOPY )
73 # define SAFEMEMCPY( d, s, n ) bcopy((s), (d), (n))
75 /* nothing left but memcpy() */
76 # define SAFEMEMCPY( d, s, n ) memcpy((d), (s), (n))
80 #endif /* _AC_STRING_H */