]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
r6417: Strange old IRIX systems return -1 for telldir() when
authorJeremy Allison <jra@samba.org>
Thu, 21 Apr 2005 07:57:52 +0000 (07:57 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:56:41 +0000 (10:56 -0500)
end of directory reached. Don't check for that and bail
when reading directory entries as it's a valid value.
Excellent work from Cale Fairchild <cale@brocku.ca>
tracked this down.
Jeremy.

source/smbd/dir.c

index 0f32dddd2d765a79c9b06db96a7892fc8cbc5be1..054588b25e6f6490147996d4a7f8976c045f5b59 100644 (file)
@@ -1038,11 +1038,7 @@ const char *ReadDirName(struct smb_Dir *dirp, long *poffset)
        while ((n = vfs_readdirname(conn, dirp->dir))) {
                struct name_cache_entry *e;
                dirp->offset = SMB_VFS_TELLDIR(conn, dirp->dir);
-               if (dirp->offset == -1) {
-                       return NULL;
-               }
                dirp->name_cache_index = (dirp->name_cache_index+1) % NAME_CACHE_SIZE;
-
                e = &dirp->name_cache[dirp->name_cache_index];
                SAFE_FREE(e->name);
                e->name = SMB_STRDUP(n);