* as/link/lkar.h: sgetl and sputl are independent of endianness
[fw/sdcc] / device / lib / _strncpy.c
index 2b7aa481f9b23af73cb0e42c29ae75d8f4fab9bf..505379eb4754206a2ae2d27ed131b9301fcd7bd1 100644 (file)
@@ -30,9 +30,14 @@ char *strncpy (
 {
        register char * d1 =  d;
 
-       while ( n-- && *s )
+       while ( n && *s )
+       {
+               n-- ;
                *d++ = *s++ ;
+       }
        while ( n-- )
+       {
                *d++ = '\0' ;
+       }
        return d1;
 }