X-Git-Url: https://git.wh0rd.org/?p=dump.git;a=blobdiff_plain;f=restore%2Ftape.c;h=ab0513a919573bf06e0e31b63059c8bc4b098791;hp=9e1e28c2594a70d94f4bc21ab66d49f34b9ca692;hb=8d4197bb9ba5bbcef21409231ed8903b0cac353a;hpb=ddd2ef55b78a62c4bc3daad18bef8a90e85a2052 diff --git a/restore/tape.c b/restore/tape.c index 9e1e28c..ab0513a 100644 --- a/restore/tape.c +++ b/restore/tape.c @@ -49,7 +49,7 @@ static char sccsid[] = "@(#)tape.c 8.9 (Berkeley) 5/1/95"; #endif static const char rcsid[] = - "$Id: tape.c,v 1.3 1999/10/11 12:59:21 stelian Exp $"; + "$Id: tape.c,v 1.4 1999/10/11 13:08:10 stelian Exp $"; #endif /* not lint */ #include @@ -602,10 +602,11 @@ extractfile(char *name) } (void) chown(name, curfile.dip->di_uid, curfile.dip->di_gid); (void) chmod(name, mode); + if (flags) #ifdef __linux__ - (void) fsetflags(name, flags); + (void) fsetflags(name, flags); #else - (void) chflags(name, flags); + (void) chflags(name, flags); #endif skipfile(); utimes(name, timep); @@ -627,10 +628,14 @@ extractfile(char *name) } (void) chown(name, curfile.dip->di_uid, curfile.dip->di_gid); (void) chmod(name, mode); + if (flags) #ifdef __linux__ - (void) fsetflags(name, flags); + { + warn("%s: fsetflags called on a special file", name); + (void) fsetflags(name, flags); + } #else - (void) chflags(name, flags); + (void) chflags(name, flags); #endif skipfile(); utimes(name, timep); @@ -652,10 +657,11 @@ extractfile(char *name) } (void) fchown(ofile, curfile.dip->di_uid, curfile.dip->di_gid); (void) fchmod(ofile, mode); + if (flags) #ifdef __linux__ - (void) fsetflags(ofile, flags); + (void) setflags(ofile, flags); #else - (void) fchflags(ofile, flags); + (void) fchflags(ofile, flags); #endif getfile(xtrfile, xtrskip); (void) close(ofile);