]> git.sur5r.net Git - openldap/blob - include/ac/string.h
Added declarations of common str*() functions
[openldap] / include / ac / string.h
1 /* Generic string.h */
2
3 #ifndef _AC_STRING_H
4 #define _AC_STRING_H
5
6 #ifdef STDC_HEADERS
7 #       include <string.h>
8 #else
9 #       ifndef HAVE_STRCHR
10 #               define strchr index
11 #               define strrchr rindex
12 #       endif
13         char *strchr (), *strrchr ();
14         char *strcpy (), *strncpy (), *strcat (), *strncat ();
15         int   strcmp (),  strncmp (),  memcmp ();
16
17 #       ifndef HAVE_MEMCPY
18 #               define memcpy(d, s, n)                  bcopy ((s), (d), (n))
19 #               define memmove(d, s, n)                 bcopy ((s), (d), (n))
20 #       endif
21 #endif
22
23 #ifndef SAFEMEMCPY
24 #       if defined( HAVE_MEMMOVE )
25 #               define SAFEMEMCPY( d, s, n )    memmove((d), (s), (n))
26 #       elif defined( HAVE_BCOPY )
27 #               define SAFEMEMCPY( d, s, n )    bcopy((s), (d), (n))
28 #       elif defined( MACOS )
29 #               define SAFEMEMCPY( d, s, n )    BlockMoveData((Ptr)(s), (Ptr)(d), (n))
30 #       else
31                 /* nothing left but memcpy() */
32 #               define SAFEMEMCPY( d, s, n )    memcpy((d), (s), (n))
33 #       endif
34 #endif
35
36 #endif /* _AC_STRING_H */