From 9697738544405d409dede9e2dcce595a854e99be Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Wed, 2 Jun 1993 20:56:37 +0000 Subject: entered into RCS --- dir.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dir.c b/dir.c index 8c27c51..1e1bcf1 100644 --- a/dir.c +++ b/dir.c @@ -242,19 +242,24 @@ dir_contents_file_exists_p (dir, filename) { /* Enter the file in the hash table. */ register unsigned int newhash = 0; + unsigned int len; register unsigned int i; if (!REAL_DIR_ENTRY (d)) continue; - for (i = 0; i < D_NAMLEN(d); ++i) + len = D_NAMLEN (d); + while (d->d_name[len - 1] == '\0') + --len; + + for (i = 0; i < len; ++i) HASH (newhash, d->d_name[i]); newhash %= DIRFILE_BUCKETS; df = (struct dirfile *) xmalloc (sizeof (struct dirfile)); df->next = dir->files[newhash]; dir->files[newhash] = df; - df->name = savestring (d->d_name, D_NAMLEN(d)); + df->name = savestring (d->d_name, len); df->impossible = 0; /* Check if the name matches the one we're searching for. */ -- cgit v1.2.3