X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/e0fde757fda15c0596914e6dc29dcd92a5b6448f..4f5b0756df0dfc925b9576db47ecce949c378e18:/lib/compat.c diff --git a/lib/compat.c b/lib/compat.c index a783a01c..97b40ffd 100644 --- a/lib/compat.c +++ b/lib/compat.c @@ -116,10 +116,12 @@ { size_t len = strlen(s); size_t ret = len; - if (bufsize <= 0) return 0; - if (len >= bufsize) len = bufsize-1; - memcpy(d, s, len); - d[len] = 0; + if (bufsize > 0) { + if (len >= bufsize) + len = bufsize-1; + memcpy(d, s, len); + d[len] = 0; + } return ret; } #endif @@ -138,10 +140,9 @@ size_t len2 = strlen(s); size_t ret = len1 + len2; - if (len1+len2 >= bufsize) { - len2 = bufsize - (len1+1); - } - if (len2 > 0) { + if (len1 < bufsize - 1) { + if (len2 >= bufsize - len1) + len2 = bufsize - len1 - 1; memcpy(d+len1, s, len2); d[len1+len2] = 0; } @@ -154,7 +155,7 @@ { unsigned char *p = (unsigned char *)&ip.s_addr; static char buf[18]; -#if WORDS_BIGENDIAN +#ifdef WORDS_BIGENDIAN snprintf(buf, 18, "%d.%d.%d.%d", (int)p[0], (int)p[1], (int)p[2], (int)p[3]); #else @@ -195,7 +196,7 @@ /* some systems don't take the 2nd argument */ int sys_gettimeofday(struct timeval *tv) { -#if HAVE_GETTIMEOFDAY_TZ +#ifdef HAVE_GETTIMEOFDAY_TZ return gettimeofday(tv, NULL); #else return gettimeofday(tv);