#ifndef lint
static const char rcsid[] =
- "$Id: traverse.c,v 1.63 2004/12/14 11:21:48 stelian Exp $";
+ "$Id: traverse.c,v 1.65 2005/01/25 13:33:44 stelian Exp $";
#endif /* not lint */
#include <config.h>
*/
SETINO(ino, usedinomap);
+ if (NODUMP_FLAG(dp))
+ do_exclude_ino(ino, "nodump attribute");
+
if (mode == IFDIR)
SETINO(ino, dumpdirmap);
if (WANTTODUMP(dp, ino)) {
return;
}
if (mode == IFDIR) {
- if ( NODUMP_FLAG(dp) || exclude_ino(ino) )
+ if (exclude_ino(ino))
CLRINO(ino, usedinomap);
*dirskipped = 1;
}
int reclen;
/* do not save entries to excluded inodes */
- if (TSTINO(dirent->inode, dumpinomap) == 0 &&
- TSTINO(dirent->inode, dumpdirmap) == 0 &&
- TSTINO(dirent->inode, usedinomap) == 0)
+ if (exclude_ino(dirent->inode))
return 0;
p = (struct convert_dir_context *)private;
spcl.c_type = type;
spcl.c_count = howmany(mapsize * sizeof(char), TP_BSIZE);
+ spcl.c_dinode.di_size = mapsize;
writeheader(ino);
for (i = 0, cp = map; i < spcl.c_count; i++, cp += TP_BSIZE)
writerec(cp, 0);