diff options
author | rsc <rsc> | 2007-08-24 21:00:02 +0000 |
---|---|---|
committer | rsc <rsc> | 2007-08-24 21:00:02 +0000 |
commit | 766ba5cc06b45439cd3987aa782147041dab65c4 (patch) | |
tree | 0155e02e14ab2aa9b0b113e178a787d8d6c2d969 /fs.c | |
parent | aa6824ab64be037bfce9b0d991e6692282f8c1ab (diff) | |
download | xv6-labs-766ba5cc06b45439cd3987aa782147041dab65c4.tar.gz xv6-labs-766ba5cc06b45439cd3987aa782147041dab65c4.tar.bz2 xv6-labs-766ba5cc06b45439cd3987aa782147041dab65c4.zip |
first ever correct use of strncpy
Diffstat (limited to 'fs.c')
-rw-r--r-- | fs.c | 24 |
1 files changed, 2 insertions, 22 deletions
@@ -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<DIRSIZ; i++){ - if(s[i] != t[i]) - return s[i] - t[i]; - if(s[i] == 0) - break; - } - return 0; + return strncmp(s, t, DIRSIZ); } // Look for a directory entry in a directory. @@ -500,18 +492,6 @@ dirlookup(struct inode *dp, char *name, uint *poff) return 0; } -// Copy one name to another. -static void -namecpy(char *s, const char *t) -{ - int i; - - for(i=0; i<DIRSIZ && t[i]; i++) - s[i] = t[i]; - for(; i<DIRSIZ; i++) - s[i] = 0; -} - // Write a new directory entry (name, ino) into the directory dp. int dirlink(struct inode *dp, char *name, uint ino) @@ -534,7 +514,7 @@ dirlink(struct inode *dp, char *name, uint ino) break; } - namecpy(de.name, name); + strncpy(de.name, name, DIRSIZ); de.inum = ino; if(writei(dp, (char*)&de, off, sizeof(de)) != sizeof(de)) panic("dirwrite"); |