--- cvswrap.c.orig 2009-02-24 15:40:55.000000000 +0100 +++ cvswrap.c 2009-02-24 15:38:24.000000000 +0100 @@ -94,7 +94,12 @@ char **cvsrootp); static void slashfix(char *); static int strings_have_line(char * const *strings, const char *line); +#if defined(__FreeBSD__) +#include +#if __FreeBSD_version <= 800057 && __FreeBSD_version > 800000 || __FreeBSD_version <= 701100 static char * strndup(const char *str, size_t len); +#endif +#endif static int timeval_diff(const struct timeval *tv1, const struct timeval *tv2); static int writebuf(int fd, const char *buf, size_t len); @@ -324,6 +329,9 @@ return (0); } +#if defined(__FreeBSD__) +#include +#if __FreeBSD_version <= 800057 && __FreeBSD_version > 800000 || __FreeBSD_version <= 701100 /* * return: a copy of "len" bytes from byte string "str" and NULL terminate. */ @@ -340,6 +348,8 @@ *(ret + len) = '\0'; return (ret); } +#endif +#endif /* * Wait for child cvs process to exit.