17 # define strrchr rindex
21 # define memcpy(d, s, n) bcopy ((s), (d), (n))
22 # define memmove(d, s, n) bcopy ((s), (d), (n))
25 # if !defined(HAVE_STRING_H) && !defined(HAVE_STRINGS_H)
26 /* define prototypes for string functions */
27 /* this could cause problems on some odd ball systems */
28 char *strchr(), *strrchr();
29 char *strcpy(), *strncpy();
30 char *strcat (), *strncat ();
31 int strcmp(), strncmp();
32 int strcasecmp(), strncasecmp();
40 # if defined( HAVE_MEMMOVE )
41 # define SAFEMEMCPY( d, s, n ) memmove((d), (s), (n))
42 # elif defined( HAVE_BCOPY )
43 # define SAFEMEMCPY( d, s, n ) bcopy((s), (d), (n))
44 # elif defined( MACOS )
45 # define SAFEMEMCPY( d, s, n ) BlockMoveData((Ptr)(s), (Ptr)(d), (n))
47 /* nothing left but memcpy() */
48 # define SAFEMEMCPY( d, s, n ) memcpy((d), (s), (n))
52 #endif /* _AC_STRING_H */