SCCS-vsn: sbin/restore/dirs.c 5.4
SCCS-vsn: sbin/restore/main.c 5.3
-static char sccsid[] = "@(#)dirs.c 5.3 (Berkeley) %G%";
+static char sccsid[] = "@(#)dirs.c 5.4 (Berkeley) %G%";
#endif not lint
#include "restore.h"
#endif not lint
#include "restore.h"
namelen = strlen(locname);
rst_seekdir(dirp, itp->t_seekpt, itp->t_seekpt);
dp = rst_readdir(dirp); /* "." */
namelen = strlen(locname);
rst_seekdir(dirp, itp->t_seekpt, itp->t_seekpt);
dp = rst_readdir(dirp); /* "." */
- if (dp != NULL && strcmp(dp->d_name, ".") == 0) {
+ if (dp != NULL && strcmp(dp->d_name, ".") == 0)
dp = rst_readdir(dirp); /* ".." */
dp = rst_readdir(dirp); /* ".." */
- } else {
- np = lookupino(ino);
- if (np == NULL)
- panic("corrupted symbol table\n");
- fprintf(stderr, ". missing from directory %s\n", myname(np));
- }
- if (dp != NULL && strcmp(dp->d_name, "..") == 0) {
+ else
+ fprintf(stderr, "Warning: `.' missing from directory %s\n",
+ pname);
+ if (dp != NULL && strcmp(dp->d_name, "..") == 0)
dp = rst_readdir(dirp); /* first real entry */
dp = rst_readdir(dirp); /* first real entry */
- } else {
- np = lookupino(ino);
- if (np == NULL)
- panic("corrupted symbol table\n");
- fprintf(stderr, ".. missing from directory %s\n", myname(np));
- }
+ else
+ fprintf(stderr, "Warning: `..' missing from directory %s\n",
+ pname);
bpt = telldir(dirp);
/*
* a zero inode signals end of directory
bpt = telldir(dirp);
/*
* a zero inode signals end of directory
#endif not lint
#ifndef lint
#endif not lint
#ifndef lint
-static char sccsid[] = "@(#)main.c 5.2 (Berkeley) %G%";
+static char sccsid[] = "@(#)main.c 5.3 (Berkeley) %G%";
case 't':
setup();
extractdirs(0);
case 't':
setup();
extractdirs(0);
+ initsymtable((char *)0);
while (argc--) {
canon(*argv++, name);
ino = dirlookup(name);
while (argc--) {
canon(*argv++, name);
ino = dirlookup(name);