From 6838b88ee10e9f99d0a6e344a3e7dc7bf2be7940 Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Sun, 22 Jan 2006 11:56:28 +0000 Subject: [PATCH] rearranged some bits so that toplevel directory will be counted too git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2260 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- util-vserver/src/vdu.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/util-vserver/src/vdu.c b/util-vserver/src/vdu.c index f24afc2..480784f 100644 --- a/util-vserver/src/vdu.c +++ b/util-vserver/src/vdu.c @@ -181,7 +181,7 @@ hash_insert(ino_t inode) } static void -visitDirEntry(struct dirent const *ent, dev_t const dir_dev, +visitDirEntry(char const *name, dev_t const dir_dev, struct TraversalParams *params); static void @@ -198,7 +198,8 @@ visitDir(char const *name, struct stat const *expected_stat, struct TraversalPar struct dirent *ent = Ereaddir(dir); if (ent==0) break; - visitDirEntry(ent, expected_stat->st_dev, params); + if (isDotfile(ent->d_name)) continue; + visitDirEntry(ent->d_name, expected_stat->st_dev, params); } Eclosedir(dir); @@ -208,15 +209,12 @@ visitDir(char const *name, struct stat const *expected_stat, struct TraversalPar } static void -visitDirEntry(struct dirent const *ent, dev_t const dir_dev, +visitDirEntry(char const *name, dev_t const dir_dev, struct TraversalParams *params) { struct stat st; - char const * const name = ent->d_name; xid_t xid; - if (isDotfile(name)) return; - ElstatD(name, &st); xid = vc_getfilecontext(name); @@ -239,7 +237,7 @@ visitDirStart(char const *name, struct TraversalParams *params) Estat(name, &st); Echdir(name); - visitDir(".", &st, params); + visitDirEntry(".", st.st_dev, params); Efchdir(fd); Eclose(fd); -- 1.8.1.5