* Ported to Linux's Second Extended File System as part of the
* dump and restore backup suit
* Remy Card <card@Linux.EU.Org>, 1994-1997
- * Stelian Pop <pop@cybercable.fr>, 1999
- *
+ * Stelian Pop <pop@cybercable.fr>, 1999-2000
*/
/*
*/
#ifndef lint
-#if 0
-static char sccsid[] = "@(#)dirs.c 8.7 (Berkeley) 5/1/95";
-#endif
static const char rcsid[] =
- "$Id: dirs.c,v 1.3 1999/10/11 12:59:19 stelian Exp $";
+ "$Id: dirs.c,v 1.8 2000/02/10 09:42:32 stelian Exp $";
#endif /* not lint */
#include <sys/param.h>
if (Bcvt)
swabst((u_char *)"is", (u_char *) dp);
if (oldinofmt && dp->d_ino != 0) {
-#ifdef __linux__
- if (Bcvt)
- swabst((u_char *)"s", (u_char *)&dp->d_namlen);
-#else
# if BYTE_ORDER == BIG_ENDIAN
if (Bcvt)
dp->d_namlen = dp->d_type;
if (!Bcvt)
dp->d_namlen = dp->d_type;
# endif
-#endif /* __linux__ */
dp->d_type = DT_UNKNOWN;
}
-#ifdef __linux__
- /*
- * Horrible hack to read FreeBSD 2.0 dumps
- */
- if (!oldinofmt)
- swabst((u_char *)"6bs", (u_char *) dp);
-#endif /* __linux__ */
#ifdef DIRDEBUG
printf ("reclen = %d, namlen = %d, type = %d\n",
dp->d_reclen, dp->d_namlen, dp->d_type);
cp = myname(ep);
(void) chown(cp, node.uid, node.gid);
(void) chmod(cp, node.mode);
+ if (node.flags)
#ifdef __linux__
- (void) setflags(cp, node.flags);
+ (void) fsetflags(cp, node.flags);
#else
- (void) chflags(cp, node.flags);
+ (void) chflags(cp, node.flags);
#endif
utimes(cp, node.timep);
ep->e_flags &= ~NEW;