Fixed return values of our own implementation of strlcpy(). The code has
authorAlexander Barton <alex@barton.de>
Tue, 18 Jan 2005 09:05:37 +0000 (09:05 +0000)
committerAlexander Barton <alex@barton.de>
Tue, 18 Jan 2005 09:05:37 +0000 (09:05 +0000)
been taken from rsync and they fixed it, but we didn't until today :-/

ChangeLog
src/portab/strlcpy.c

index 1c9de511e9b8110c1be7276f5a0b326ff8958036..6e24d3b626e935810c4180672d1e9c6c61afd8e4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
 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, <westphal@foo.fh-furtwangen.de>.
   - 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 $
index f77527a09f068788d34a97c0ec53ad3c63c39f28..627b3218839319c588a7068c162643422538e939 100644 (file)
@@ -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 <string.h>
@@ -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