]> git.wh0rd.org - dump.git/blobdiff - restore/symtab.c
Changed some "panic" into "errx" for some errors when restore
[dump.git] / restore / symtab.c
index 275dd1cc8178add4888e5c9418a7e11eaa7a3394..9ad4955463a8beabf6202b5b20d5accbc6035c44 100644 (file)
@@ -2,8 +2,7 @@
  *     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[] = "@(#)symtab.c   8.3 (Berkeley) 4/28/95";
-#endif
 static const char rcsid[] =
-       "$Id: symtab.c,v 1.4 1999/10/11 13:08:10 stelian Exp $";
+       "$Id: symtab.c,v 1.9 2000/06/25 18:42:39 stelian Exp $";
 #endif /* not lint */
 
 /*
@@ -249,7 +245,7 @@ addentry(char *name, ino_t inum, int type)
        } else {
                np = (struct entry *)calloc(1, sizeof(struct entry));
                if (np == NULL)
-                       panic("no memory to extend symbol table\n");
+                       errx(1, "no memory to extend symbol table");
        }
        np->e_type = type & ~LINK;
        ep = lookupparent(name);
@@ -395,7 +391,7 @@ struct strhdr {
 #define STRTBLINCR     (sizeof(struct strhdr))
 #define allocsize(size)        (((size) + 1 + STRTBLINCR - 1) & ~(STRTBLINCR - 1))
 
-static struct strhdr strtblhdr[allocsize(NAME_MAX) / STRTBLINCR];
+static struct strhdr strtblhdr[allocsize(MAXNAMLEN) / STRTBLINCR];
 
 /*
  * Allocate space for a name. It first looks to see if it already
@@ -418,7 +414,7 @@ savename(char *name)
        } else {
                cp = malloc((unsigned)allocsize(len));
                if (cp == NULL)
-                       panic("no space for string table\n");
+                       errx(1, "no space for string table");
        }
        (void) strcpy(cp, name);
        return (cp);
@@ -558,27 +554,27 @@ initsymtable(char *filename)
                entry = (struct entry **)
                        calloc((unsigned)entrytblsize, sizeof(struct entry *));
                if (entry == (struct entry **)NULL)
-                       panic("no memory for entry table\n");
+                       errx(1, "no memory for entry table");
                ep = addentry(".", ROOTINO, NODE);
                ep->e_flags |= NEW;
                return;
        }
        if ((fd = open(filename, O_RDONLY, 0)) < 0) {
                warn("open");
-               panic("cannot open symbol table file %s\n", filename);
+               errx(1, "cannot open symbol table file %s", filename);
        }
        if (fstat(fd, &stbuf) < 0) {
                warn("stat");
-               panic("cannot stat symbol table file %s\n", filename);
+               errx(1, "cannot stat symbol table file %s", filename);
        }
        tblsize = stbuf.st_size - sizeof(struct symtableheader);
        base = calloc(sizeof(char), (unsigned)tblsize);
        if (base == NULL)
-               panic("cannot allocate space for symbol table\n");
+               errx(1, "cannot allocate space for symbol table");
        if (read(fd, base, (int)tblsize) < 0 ||
            read(fd, (char *)&hdr, sizeof(struct symtableheader)) < 0) {
                warn("read");
-               panic("cannot read symbol table file %s\n", filename);
+               errx(1, "cannot read symbol table file %s", filename);
        }
        switch (command) {
        case 'r':