X-Git-Url: https://git.wh0rd.org/?p=dump.git;a=blobdiff_plain;f=restore%2Fsymtab.c;h=3e6d3fc2b6674a31a076dcb2eb3204790e1159d3;hp=2e157f4ab4814903bf1f044bdcafc46ca625234f;hb=585ca01a9a2ed1ce197c44a33f5a1fde06adbef7;hpb=86fab47e75fc141db053271654a2570fddcd0f46 diff --git a/restore/symtab.c b/restore/symtab.c index 2e157f4..3e6d3fc 100644 --- a/restore/symtab.c +++ b/restore/symtab.c @@ -2,8 +2,8 @@ * Ported to Linux's Second Extended File System as part of the * dump and restore backup suit * Remy Card , 1994-1997 - * Stelian Pop , 1999-2000 - * Stelian Pop - Alcôve , 2000 + * Stelian Pop , 1999-2000 + * Stelian Pop - Alcôve , 2000-2002 */ /* @@ -18,11 +18,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors + * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -41,7 +37,7 @@ #ifndef lint static const char rcsid[] = - "$Id: symtab.c,v 1.15 2001/05/12 11:36:12 stelian Exp $"; + "$Id: symtab.c,v 1.22 2003/10/26 16:05:48 stelian Exp $"; #endif /* not lint */ /* @@ -60,10 +56,19 @@ static const char rcsid[] = #ifdef __linux__ #include #include +#ifdef HAVE_EXT2FS_EXT2_FS_H +#include +#else #include +#endif #include #else /* __linux__ */ +#ifdef sunos +#include +#include +#else #include +#endif #endif /* __linux__ */ #include @@ -102,7 +107,7 @@ static void removeentry __P((struct entry *)); struct entry * lookupino(dump_ino_t inum) { - register struct entry *ep; + struct entry *ep; if (inum < WINO || inum >= maxino) return (NULL); @@ -138,7 +143,7 @@ addino(dump_ino_t inum, struct entry *np) void deleteino(dump_ino_t inum) { - register struct entry *next; + struct entry *next; struct entry **prev; if (inum < WINO || inum >= maxino) @@ -161,8 +166,8 @@ deleteino(dump_ino_t inum) struct entry * lookupname(char *name) { - register struct entry *ep; - register char *np, *cp; + struct entry *ep; + char *np, *cp; char buf[MAXPATHLEN]; cp = name; @@ -212,7 +217,7 @@ lookupparent(char *name) char * myname(struct entry *ep) { - register char *cp; + char *cp; static char namebuf[MAXPATHLEN]; for (cp = &namebuf[MAXPATHLEN - 2]; cp > &namebuf[ep->e_namlen]; ) { @@ -239,7 +244,7 @@ static struct entry *freelist = NULL; struct entry * addentry(char *name, dump_ino_t inum, int type) { - register struct entry *np, *ep; + struct entry *np, *ep; if (freelist != NULL) { np = freelist; @@ -287,7 +292,7 @@ addentry(char *name, dump_ino_t inum, int type) void freeentry(struct entry *ep) { - register struct entry *np; + struct entry *np; dump_ino_t inum; if (ep->e_flags != REMOVED) @@ -358,7 +363,7 @@ moveentry(struct entry *ep, char *newname) static void removeentry(struct entry *ep) { - register struct entry *np; + struct entry *np; np = ep->e_parent; if (np->e_entries == ep) { @@ -458,8 +463,8 @@ struct symtableheader { void dumpsymtable(char *filename, long checkpt) { - register struct entry *ep, *tep; - register dump_ino_t i; + struct entry *ep, *tep; + dump_ino_t i; struct entry temp, *tentry; long mynum = 1, stroff = 0; FILE *fd; @@ -514,7 +519,7 @@ dumpsymtable(char *filename, long checkpt) /* * Convert entry pointers to indexes, and output */ - for (i = 0; i < entrytblsize; i++) { + for (i = 0; (long)i < entrytblsize; i++) { if (entry[i] == NULL) tentry = NULL; else @@ -546,11 +551,11 @@ initsymtable(char *filename) { char *base; long tblsize; - register struct entry *ep; + struct entry *ep; struct entry *baseep, *lep; struct symtableheader hdr; struct stat stbuf; - register long i; + long i; int fd; Vprintf(stdout, "Initialize symbol table.\n"); @@ -607,6 +612,7 @@ initsymtable(char *filename) panic("initsymtable called from command %c\n", command); break; } + resizemaps(maxino, hdr.maxino); maxino = hdr.maxino; entrytblsize = hdr.entrytblsize; entry = (struct entry **)