diff options
| author | Tim Kientzle <kientzle@FreeBSD.org> | 2004-05-03 16:56:42 +0000 |
|---|---|---|
| committer | Tim Kientzle <kientzle@FreeBSD.org> | 2004-05-03 16:56:42 +0000 |
| commit | ce722a01bed72cbb3c67dd1b22f0886ee115ab19 (patch) | |
| tree | 218fa65367941219afe7ec6c05718be9d6231a5f /usr.bin | |
| parent | 9063f422e28cc8f126337b982fd2b589a38b870b (diff) | |
Notes
Diffstat (limited to 'usr.bin')
| -rw-r--r-- | usr.bin/tar/write.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/usr.bin/tar/write.c b/usr.bin/tar/write.c index ba88c83fbd9d5..7f5bba72cc006 100644 --- a/usr.bin/tar/write.c +++ b/usr.bin/tar/write.c @@ -577,15 +577,16 @@ write_heirarchy(struct bsdtar *bsdtar, struct archive *a, const char *path) #ifdef LINUX /* * Linux has a nodump flag too but to read it - * we have to open() the file and do an ioctl on it... + * we have to open() the dir and do an ioctl on it... */ if (bsdtar->option_honor_nodump && - S_ISREG(ftsent->fts_statp->st_mode) && ((fd = open(ftsent->fts_name, O_RDONLY|O_NONBLOCK)) >= 0) && ((r = ioctl(fd, EXT2_IOC_GETFLAGS, &fflags)), close(fd), r) >= 0 && - (fflags & EXT2_NODUMP_FL)) + (fflags & EXT2_NODUMP_FL)) { + fts_set(fts, ftsent, FTS_SKIP); break; + } #endif /* |
