X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=restore%2Fmain.c;h=292d0cc11d35aab429d2d3501f2194f49c1aae0f;hb=0c8a8bf94f8b615966d8dbe321e9193632e2275a;hp=b3a09ff9c53237f11d1023fdafe2cff958864b20;hpb=ec387a1267f4cac7625cd5b6d1c1f080d39085b3;p=dump.git diff --git a/restore/main.c b/restore/main.c index b3a09ff..292d0cc 100644 --- a/restore/main.c +++ b/restore/main.c @@ -2,8 +2,7 @@ * Ported to Linux's Second Extended File System as part of the * dump and restore backup suit * Remy Card , 1994-1997 - * Stelian Pop , 1999 - * + * Stelian Pop , 1999-2000 */ /* @@ -37,10 +36,13 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $Id: main.c,v 1.5 1999/10/11 13:31:13 stelian Exp $ */ +#ifndef lint +static const char rcsid[] = + "$Id: main.c,v 1.9 2000/03/02 11:34:51 stelian Exp $"; +#endif /* not lint */ + #include #include #include @@ -85,7 +87,7 @@ time_t dumpdate; FILE *terminal; char *tmpdir; int compare_ignore_not_found; -char *filesys = NULL; +char filesys[NAMELEN]; #ifdef __linux__ char *__progname; @@ -105,7 +107,7 @@ main(int argc, char *argv[]) /* Temp files should *not* be readable. We set permissions later. */ (void) umask(077); - + filesys[0] = '\0'; #ifdef __linux__ __progname = argv[0]; #endif @@ -123,9 +125,9 @@ main(int argc, char *argv[]) ; obsolete(&argc, &argv); #ifdef KERBEROS -#define optlist "b:CcdD:f:hikmNRrs:tT:uvxy" +#define optlist "b:CcdD:f:hikmMNRrs:tT:uvxy" #else -#define optlist "b:CcdD:f:himNRrs:tT:uvxy" +#define optlist "b:CcdD:f:himMNRrs:tT:uvxy" #endif while ((ch = getopt(argc, argv, optlist)) != -1) switch(ch) { @@ -142,7 +144,8 @@ main(int argc, char *argv[]) cvtflag = 1; break; case 'D': - filesys = optarg; + strncpy(filesys, optarg, NAMELEN); + filesys[NAMELEN - 1] = '\0'; break; case 'T': tmpdir = optarg; @@ -176,6 +179,9 @@ main(int argc, char *argv[]) case 'm': mflag = 0; break; + case 'M': + Mflag = 1; + break; case 'N': Nflag = 1; break; @@ -354,12 +360,15 @@ usage(void) #else #define kerbflag #endif - (void)fprintf(stderr, "usage:\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n", - "restore -i [-ch" kerbflag "muvy] [-b blocksize] [-f file] [-s fileno]", - "restore -r [-c" kerbflag "uvy] [-b blocksize] [-f file] [-s fileno]", - "restore -R [-c" kerbflag "uvy] [-b blocksize] [-f file] [-s fileno]", - "restore -x [-ch" kerbflag "muvy] [-b blocksize] [-f file] [-s fileno] [file ...]", - "restore -t [-ch" kerbflag "kuvy] [-b blocksize] [-f file] [-s fileno] [file ...]"); + (void)fprintf(stderr, + "%s %s\n", __progname, _DUMP_VERSION); + (void)fprintf(stderr, + "usage:\t%s%s\n\t%s%s\n\t%s%s\n\t%s%s\n\t%s%s\n", + __progname, " -i [-ch" kerbflag "mMuvy] [-b blocksize] [-f file] [-s fileno]", + __progname, " -r [-c" kerbflag "Muvy] [-b blocksize] [-f file] [-s fileno]", + __progname, " -R [-c" kerbflag "Muvy] [-b blocksize] [-f file] [-s fileno]", + __progname, " -x [-ch" kerbflag "mMuvy] [-b blocksize] [-f file] [-s fileno] [file ...]", + __progname, " -t [-ch" kerbflag "Muvy] [-b blocksize] [-f file] [-s fileno] [file ...]"); exit(1); } @@ -394,8 +403,10 @@ obsolete(int *argcp, char **argvp[]) for (flags = 0; *ap; ++ap) { switch (*ap) { case 'b': + case 'D': case 'f': case 's': + case 'T': if (*argv == NULL) { warnx("option requires an argument -- %c", *ap); usage();