From 766ba5cc06b45439cd3987aa782147041dab65c4 Mon Sep 17 00:00:00 2001 From: rsc Date: Fri, 24 Aug 2007 21:00:02 +0000 Subject: [PATCH] first ever correct use of strncpy --- defs.h | 1 + fs.c | 24 ++---------------------- string.c | 16 ++++++++++++++-- 3 files changed, 17 insertions(+), 24 deletions(-) diff --git a/defs.h b/defs.h index cbe0dd4..cbacf61 100644 --- a/defs.h +++ b/defs.h @@ -127,6 +127,7 @@ void* memset(void*, int, uint); char* safestrcpy(char*, const char*, int); int strlen(const char*); int strncmp(const char*, const char*, uint); +char* strncpy(char*, const char*, int); // syscall.c int argint(int, int*); diff --git a/fs.c b/fs.c index bc3cccd..eef20e8 100644 --- a/fs.c +++ b/fs.c @@ -455,15 +455,7 @@ writei(struct inode *ip, char *src, uint off, uint n) int namecmp(const char *s, const char *t) { - int i; - - for(i=0; i 0 && (*s++ = *t++) != 0) + ; + while(n-- > 0) + *s++ = 0; + return os; } // Like strncpy but guaranteed to NUL-terminate.