]> git.wh0rd.org - dump.git/blobdiff - restore/tape.c
Added CVS Id.
[dump.git] / restore / tape.c
index 9e1e28c2594a70d94f4bc21ab66d49f34b9ca692..32a5582d1e32f11e51ef1a69e4a2f2117a79d611 100644 (file)
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
+ *
+ * $Id: tape.c,v 1.5 1999/10/11 13:31:13 stelian Exp $
  */
 
-#ifndef lint
-#if 0
-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 $";
-#endif /* not lint */
-
 #include <sys/param.h>
 #include <sys/file.h>
 #include <sys/mtio.h>
@@ -602,10 +596,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 +622,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 +651,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);