home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / utils / disk-man / mtools-3.000 / mtools-3 / mtools-3.0 / mtools.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-08  |  1.1 KB  |  53 lines

  1. #include "sysincludes.h"
  2. #include "msdos.h"
  3. #include "mtools.h"
  4. #include "patchlevel.h"
  5.  
  6. const char *mversion = VERSION;
  7. const char *mdate = DATE;
  8. int    mtools_raw_tty = 1;
  9.  
  10. #define DISPATCH(cmd,fn,type) if (!strcmp(name,cmd)) fn(argc, argv, type)
  11.  
  12.  
  13. void main(int argc,char **argv)
  14. {
  15.     char *name;
  16.  
  17.     /* print the version */
  18.     if(argc >= 2 && strcmp(argv[1], "-V") == 0) {
  19.         printf("Mtools version %s, dated %s\n", mversion, mdate);
  20.         exit(0);
  21.     }
  22.  
  23.     if ((name = strrchr(argv[0],'/')))
  24.         name++;
  25.     else name = argv[0];
  26.     argv[0] = name;
  27.     
  28.     read_config();
  29.     setup_signal();
  30.     
  31.     DISPATCH("mattrib",mattrib, 0);
  32.     DISPATCH("mbadblocks",mbadblocks, 0);
  33.     DISPATCH("mcd",mcd, 0);
  34.     DISPATCH("mcopy",mcopy, 0);
  35.     DISPATCH("mdel",mdel, 0);
  36.     DISPATCH("mdeltree",mdel, 2);
  37.     DISPATCH("mdir",mdir, 0);
  38.     DISPATCH("mformat",mformat, 0);
  39.     DISPATCH("mlabel",mlabel, 0);
  40.     DISPATCH("mmd",mmd, 0);
  41.     DISPATCH("mmount",mmount, 0);
  42.     DISPATCH("mrd",mdel, 1);
  43.     DISPATCH("mread",mcopy, 0);
  44.     DISPATCH("mmove",mmove, 0);
  45.     DISPATCH("mren",mmove, 1);
  46.     DISPATCH("mtest", mtest, 0);
  47.     DISPATCH("mtype",mcopy, 1);
  48.     DISPATCH("mwrite",mcopy, 0);
  49.     fprintf(stderr,"Unknown mtools command '%s'\n",name);
  50.  
  51.     cleanup_and_exit(1);
  52. }
  53.