X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=device%2Flib%2F_strncpy.c;h=505379eb4754206a2ae2d27ed131b9301fcd7bd1;hb=bfd7431078b6d902b991d098798911bd612bf670;hp=1fe12f6f9998f7e37f8ce43ec3e6735aef7eab62;hpb=cb7d8a8cab26fa0c173006da313fcc3e0bbb8d33;p=fw%2Fsdcc diff --git a/device/lib/_strncpy.c b/device/lib/_strncpy.c index 1fe12f6f..505379eb 100644 --- a/device/lib/_strncpy.c +++ b/device/lib/_strncpy.c @@ -7,31 +7,37 @@ under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. - + This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. - + You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - + In other words, you are welcome to use, share and improve this program. You are forbidden to forbid anyone else to use, share and improve - what you give them. Help stamp out software-hoarding! + what you give them. Help stamp out software-hoarding! -------------------------------------------------------------------------*/ -#include "string.h" -#define NULL (void *)0 +#include "string.h" char *strncpy ( char * d, char * s, - int n ) + size_t n ) { register char * d1 = d; - while ( n-- ) + while ( n && *s ) + { + n-- ; *d++ = *s++ ; + } + while ( n-- ) + { + *d++ = '\0' ; + } return d1; }