repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 6c5f4beb53d5e37fefe017cf28c513c44cfda1af:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 6c5f4beb53d5e37fefe017cf28c513c44cfda1af
Author: Alexander Barton 
Date:   Tue Jan 18 09:05:37 2005 +0000

    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 1c9de511e9b8110c1be7276f5a0b326ff8958036..
index ..6e24d3b626e935810c4180672d1e9c6c61afd8e4 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 f77527a09f068788d34a97c0ec53ad3c63c39f28..
index ..627b3218839319c588a7068c162643422538e939 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

-----END OF PAGE-----