12 # ifdef HAVE_STRINGS_H
19 # define strrchr rindex
23 # define memcpy(d, s, n) bcopy ((s), (d), (n))
24 # define memmove(d, s, n) bcopy ((s), (d), (n))
27 # if !defined(HAVE_STRING_H) && !defined(HAVE_STRINGS_H)
28 /* define prototypes for string functions */
29 /* this could cause problems on some odd ball systems */
30 char *strchr(), *strrchr();
31 char *strcpy(), *strncpy();
32 char *strcat (), *strncat ();
33 int strcmp(), strncmp();
34 int strcasecmp(), strncasecmp();
44 # if defined( HAVE_MEMMOVE )
45 # define SAFEMEMCPY( d, s, n ) memmove((d), (s), (n))
47 # if defined( HAVE_BCOPY )
48 # define SAFEMEMCPY( d, s, n ) bcopy((s), (d), (n))
51 # define SAFEMEMCPY( d, s, n ) BlockMoveData((Ptr)(s), (Ptr)(d), (n))
53 /* nothing left but memcpy() */
54 # define SAFEMEMCPY( d, s, n ) memcpy((d), (s), (n))
60 #endif /* _AC_STRING_H */