X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=dump%2Fmain.c;h=1ccbf367840438179d24dcca53c7ae5d86a22126;hb=c930abff2469b9571a22fc49d16f50f36f5a9301;hp=ca30a9c03483f9d97ded33f3388a479fb97241fe;hpb=ddd2ef55b78a62c4bc3daad18bef8a90e85a2052;p=dump.git diff --git a/dump/main.c b/dump/main.c index ca30a9c..1ccbf36 100644 --- a/dump/main.c +++ b/dump/main.c @@ -3,7 +3,6 @@ * dump and restore backup suit * Remy Card , 1994-1997 * Stelian Pop , 1999 - * */ /*- @@ -40,17 +39,8 @@ */ #ifndef lint -static const char copyright[] = -"@(#) Copyright (c) 1980, 1991, 1993, 1994\n\ - The Regents of the University of California. All rights reserved.\n"; -#endif /* not lint */ - -#ifndef lint -#if 0 -static char sccsid[] = "@(#)main.c 8.6 (Berkeley) 5/1/95"; -#endif static const char rcsid[] = - "$Id: main.c,v 1.3 1999/10/11 12:59:18 stelian Exp $"; + "$Id: main.c,v 1.7 1999/11/21 02:24:47 tiniou Exp $"; #endif /* not lint */ #include @@ -343,7 +333,6 @@ main(int argc, char *argv[]) signal(SIGTERM, sig); if (signal(SIGINT, interrupt) == SIG_IGN) signal(SIGINT, SIG_IGN); - set_operators(); /* /etc/group snarfed */ getfstab(); /* /etc/fstab snarfed */ /* @@ -394,10 +383,17 @@ main(int argc, char *argv[]) spcl.c_level = level - '0'; spcl.c_type = TS_TAPE; if (!Tflag) - getdumptime(); /* dumpdates snarfed */ + getdumptime(uflag); /* dumpdates snarfed */ + + if (spcl.c_ddate == 0 && spcl.c_level) { + msg("WARNING: There is no inferior level dump on this filesystem\n"); + msg("WARNING: Assuming a level 0 dump by default\n"); + level = '0'; + spcl.c_level = 0; + } msg("Date of this level %c dump: %s", level, -#ifdef __linux +#ifdef __linux__ spcl.c_date == 0 ? "the epoch\n" : ctime4(&spcl.c_date)); #else spcl.c_date == 0 ? "the epoch\n" : ctime(&spcl.c_date)); @@ -418,7 +414,7 @@ main(int argc, char *argv[]) msg("Label: %s\n", labelstr); #ifdef __linux__ - retval = ext2fs_open(disk, 0, 0, 0, unix_io_manager, &fs); + retval = dump_fs_open(disk, &fs); if (retval) { com_err(disk, retval, "while opening filesystem"); if (retval == EXT2_ET_REV_TOO_HIGH) @@ -550,7 +546,11 @@ main(int argc, char *argv[]) "can't allocate tape buffers - try a smaller blocking factor.\n"); startnewtape(1); +#ifdef __linux__ + (void)time4(&(tstart_writing)); +#else (void)time((time_t *)&(tstart_writing)); +#endif dumpmap(usedinomap, TS_CLRI, maxino - 1); msg("dumping (Pass III) [directories]\n"); @@ -595,7 +595,11 @@ main(int argc, char *argv[]) (void)dumpino(dp, ino); } +#ifdef __linux__ + (void)time4(&(tend_writing)); +#else (void)time((time_t *)&(tend_writing)); +#endif spcl.c_type = TS_END; for (i = 0; i < ntrec; i++) writeheader(maxino - 1); @@ -637,14 +641,24 @@ main(int argc, char *argv[]) static void usage(void) { + char white[MAXPATHLEN]; + int i; + + strncpy(white, __progname, MAXPATHLEN-1); + white[MAXPATHLEN-1] = '\0'; + for (i=0; i