patch-2.4.5 linux/fs/namei.c
Next file: linux/fs/nfs/dir.c
Previous file: linux/fs/jffs/inode-v23.c
Back to the patch index
Back to the overall index
- Lines: 34
- Date:
Sat May 19 18:02:45 2001
- Orig file:
v2.4.4/linux/fs/namei.c
- Orig date:
Fri Apr 20 16:04:32 2001
diff -u --recursive --new-file v2.4.4/linux/fs/namei.c linux/fs/namei.c
@@ -748,26 +748,24 @@
}
/* SMP-safe */
-struct dentry * lookup_one(const char * name, struct dentry * base)
+struct dentry * lookup_one_len(const char * name, struct dentry * base, int len)
{
unsigned long hash;
struct qstr this;
unsigned int c;
this.name = name;
- c = *(const unsigned char *)name;
- if (!c)
+ this.len = len;
+ if (!len)
goto access;
hash = init_name_hash();
- do {
- name++;
- if (c == '/')
+ while (len--) {
+ c = *(const unsigned char *)name++;
+ if (c == '/' || c == '\0')
goto access;
hash = partial_name_hash(c, hash);
- c = *(const unsigned char *)name;
- } while (c);
- this.len = name - (const char *) this.name;
+ }
this.hash = end_name_hash(hash);
return lookup_hash(&this, base);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)