From: Alexander Barton Date: Tue, 18 Jan 2005 09:05:37 +0000 (+0000) Subject: Fixed return values of our own implementation of strlcpy(). The code has X-Git-Tag: rel-0-9-0-pre1~131 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=commitdiff_plain;h=6c5f4beb53d5e37fefe017cf28c513c44cfda1af Fixed return values of our own implementation of strlcpy(). The code has been taken from rsync and they fixed it, but we didn't until today :-/ --- diff --git a/ChangeLog b/ChangeLog index 1c9de511..6e24d3b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,10 @@ ngIRCd CVSHEAD + - Fixed return values of our own implementation of strlcpy(). The code has + been taken from rsync and they fixed it, but we didn't until today :-/ + It has only been used when the system didn't implement strlcpy by itself, + not on "modern" systems. Florian Westphal, . - Raised the maximum length of passwords to 20 characters. - Fixed a memory leak when resizing the connection pool and realloc() failed. Now we don't fall back to malloc(), which should be sane anyway. @@ -557,4 +561,4 @@ ngIRCd 0.0.1, 31.12.2001 -- -$Id: ChangeLog,v 1.250 2005/01/17 13:01:34 alex Exp $ +$Id: ChangeLog,v 1.251 2005/01/18 09:05:37 alex Exp $ diff --git a/src/portab/strlcpy.c b/src/portab/strlcpy.c index f77527a0..627b3218 100644 --- a/src/portab/strlcpy.c +++ b/src/portab/strlcpy.c @@ -19,7 +19,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: strlcpy.c,v 1.2 2002/12/26 14:34:11 alex Exp $"; +static char UNUSED id[] = "$Id: strlcpy.c,v 1.3 2005/01/18 09:05:37 alex Exp $"; #include "imp.h" #include @@ -61,12 +61,13 @@ strlcpy( CHAR *dst, CONST CHAR *src, size_t size ) * always null terminates. */ size_t len = strlen( src ); + size_t ret = len; - if( size <= 0 ) return len; + if( size <= 0 ) return 0; if( len >= size ) len = size - 1; memcpy( dst, src, len ); dst[len] = 0; - return len; + return ret; } /* strlcpy */ #endif