X-Git-Url: https://git.wh0rd.org/?p=dump.git;a=blobdiff_plain;f=restore%2Fmain.c;h=c8c76a9536b8dd9818c336b65946e311e5401fea;hp=dc875be581f746781bbca329f6bae98e503b818c;hb=e531c44203905d5554118c09c8d0267f17879ee6;hpb=fceb4f25728fd34fabfad406c32c5d8c142aae90 diff --git a/restore/main.c b/restore/main.c index dc875be..c8c76a9 100644 --- a/restore/main.c +++ b/restore/main.c @@ -41,7 +41,7 @@ #ifndef lint static const char rcsid[] = - "$Id: main.c,v 1.39 2002/06/05 13:29:15 stelian Exp $"; + "$Id: main.c,v 1.42 2002/11/15 09:25:41 stelian Exp $"; #endif /* not lint */ #include @@ -83,15 +83,15 @@ static const char rcsid[] = int aflag = 0, bflag = 0, cvtflag = 0, dflag = 0, vflag = 0, yflag = 0; int hflag = 1, mflag = 1, Mflag = 0, Nflag = 0, Vflag = 0, zflag = 0; -int uflag = 0, lflag = 0, Lflag = 0; +int uflag = 0, lflag = 0, Lflag = 0, oflag = 0; char *Afile = NULL; int dokerberos = 0; char command = '\0'; long dumpnum = 1; long volno = 0; long ntrec; -char *dumpmap; -char *usedinomap; +char *dumpmap = NULL; +char *usedinomap = NULL; dump_ino_t maxino; time_t dumptime; time_t dumpdate; @@ -166,7 +166,7 @@ main(int argc, char *argv[]) #ifdef KERBEROS "k" #endif - "lL:mMN" + "lL:mMNo" #ifdef USE_QFA "P:Q:" #endif @@ -258,6 +258,9 @@ main(int argc, char *argv[]) case 'N': Nflag = 1; break; + case 'o': + oflag = 1; + break; #ifdef USE_QFA case 'Q': gTapeposfile = optarg; @@ -530,7 +533,7 @@ main(int argc, char *argv[]) } createfiles(); createlinks(); - setdirmodes(0); + setdirmodes(oflag ? FORCE : 0); if (dflag) checkrestore(); #ifdef DEBUG_QFA @@ -551,10 +554,10 @@ main(int argc, char *argv[]) errx(1, "can't create tapeposfile\n"); /* print QFA-file header */ sprintf(gTps, "%s\n%s\n%ld\n\n", QFA_MAGIC, QFA_VERSION,(unsigned long)spcl.c_date); - if (write(gTapeposfd, gTps, strlen(gTps)) != strlen(gTps)) + if (write(gTapeposfd, gTps, strlen(gTps)) != (ssize_t)strlen(gTps)) errx(1, "can't write tapeposfile\n"); sprintf(gTps, "ino\ttapeno\ttapepos\n"); - if (write(gTapeposfd, gTps, strlen(gTps)) != strlen(gTps)) + if (write(gTapeposfd, gTps, strlen(gTps)) != (ssize_t)strlen(gTps)) errx(1, "can't write tapeposfile\n"); extractdirs(1); @@ -619,7 +622,7 @@ usage(void) "usage:" "\t%s -C [-cd" kerbflag "lMvVy] [-b blocksize] [-D filesystem] [-f file]\n" "\t%s [-F script] [-L limit] [-s fileno]\n" - "\t%s -i [-acdh" kerbflag "lmMuvVy] [-A file] [-b blocksize] [-f file]\n" + "\t%s -i [-acdh" kerbflag "lmMouvVy] [-A file] [-b blocksize] [-f file]\n" "\t%s [-F script] " qfaflag "[-s fileno]\n" #ifdef USE_QFA "\t%s -P file [-acdh" kerbflag "lmMuvVy] [-A file] [-b blocksize]\n" @@ -631,7 +634,7 @@ usage(void) "\t%s [-s fileno] [-T directory]\n" "\t%s -t [-cdh" kerbflag "lMuvVy] [-A file] [-b blocksize] [-f file]\n" "\t%s [-F script] " qfaflag "[-s fileno] [-X filelist] [file ...]\n" - "\t%s -x [-acdh" kerbflag "lmMuvVy] [-A file] [-b blocksize] [-f file]\n" + "\t%s -x [-acdh" kerbflag "lmMouvVy] [-A file] [-b blocksize] [-f file]\n" "\t%s [-F script] " qfaflag "[-s fileno] [-X filelist] [file ...]\n", __progname, white, __progname, white,