X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/146d2228ccbbe64a7e5d457294c6b5493f1ff4ae..4fd842f98df4970f6e49a0365dbed60774e56c09:/lib/compat.c diff --git a/lib/compat.c b/lib/compat.c index 5b7a2696..b26a879c 100644 --- a/lib/compat.c +++ b/lib/compat.c @@ -1,42 +1,33 @@ -/* - Copyright (C) Andrew Tridgell 1998 - Copyright (C) 2002 by Martin Pool - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/** - * @file compat.c +/* + * Reimplementations of standard functions for platforms that don't have them. * - * Reimplementations of standard functions for platforms that don't - * have them. - **/ - - + * Copyright (C) 1998 Andrew Tridgell + * Copyright (C) 2002 Martin Pool + * Copyright (C) 2004, 2005, 2006 Wayne Davison + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, visit the http://fsf.org website. + */ #include "rsync.h" - #ifndef HAVE_STRDUP char *strdup(char *s) { - int l = strlen(s) + 1; - char *ret = (char *)malloc(l); - if (ret) - strcpy(ret,s); - return ret; + int len = strlen(s) + 1; + char *ret = (char *)malloc(len); + if (ret) + memcpy(ret, s, len); + return ret; } #endif @@ -86,7 +77,7 @@ /** * Find the first ocurrence in @p s of any character in @p accept. * - * Derived from glibc + * Derived from glibc **/ char *strpbrk(const char *s, const char *accept) { @@ -105,7 +96,7 @@ #ifndef HAVE_STRLCPY /** - * Like strncpy but does not 0 fill the buffer and always null + * Like strncpy but does not 0 fill the buffer and always null * terminates. * * @param bufsize is the size of the destination buffer. @@ -128,7 +119,7 @@ #ifndef HAVE_STRLCAT /** - * Like strncat() but does not 0 fill the buffer and always null + * Like strncat() but does not 0 fill the buffer and always null * terminates. * * @param bufsize length of the buffer, which should be one more than