1: #include <stdio.h>
   2: 
   3: #define NMOUNT  16
   4: #define NAMSIZ  32
   5: 
   6: struct mtab {
   7:     char    file[NAMSIZ];
   8:     char    spec[NAMSIZ];
   9: } mtab[NMOUNT];
  10: 
  11: main(argc, argv)
  12: char **argv;
  13: {
  14:     register int ro;
  15:     register struct mtab *mp;
  16:     register char *np;
  17:     int mf;
  18: 
  19:     mf = open("/etc/mtab", 0);
  20:     read(mf, (char *)mtab, NMOUNT*2*NAMSIZ);
  21:     if (argc==1) {
  22:         for (mp = mtab; mp < &mtab[NMOUNT]; mp++)
  23:             if (mp->file[0])
  24:                 printf("%s on %s\n", mp->spec, mp->file);
  25:         exit(0);
  26:     }
  27:     if(argc < 3) {
  28:         fprintf(stderr,"arg count\n");
  29:         exit(1);
  30:     }
  31:     ro = 0;
  32:     if(argc > 3)
  33:         ro++;
  34:     if(mount(argv[1], argv[2], ro) < 0) {
  35:         perror("mount");
  36:         exit(1);
  37:     }
  38:     np = argv[1];
  39:     while(*np++)
  40:         ;
  41:     np--;
  42:     while(*--np == '/')
  43:         *np = '\0';
  44:     while(np > argv[1] && *--np != '/')
  45:         ;
  46:     if(*np == '/')
  47:         np++;
  48:     argv[1] = np;
  49:     for (mp = mtab; mp < &mtab[NMOUNT]; mp++) {
  50:         if (mp->file[0] == 0) {
  51:             for (np = mp->spec; np < &mp->spec[NAMSIZ-1];)
  52:                 if ((*np++ = *argv[1]++) == 0)
  53:                     argv[1]--;
  54:             for (np = mp->file; np < &mp->file[NAMSIZ-1];)
  55:                 if ((*np++ = *argv[2]++) == 0)
  56:                     argv[2]--;
  57:             mp = &mtab[NMOUNT];
  58:             while ((--mp)->file[0] == 0);
  59:             mf = creat("/etc/mtab", 0644);
  60:             write(mf, (char *)mtab, (mp-mtab+1)*2*NAMSIZ);
  61:             exit(0);
  62:         }
  63:     }
  64:     exit(0);
  65: }

Defined functions

main defined in line 11; never used

Defined variables

mtab defined in line 9; used 8 times

Defined struct's

mtab defined in line 6; used 2 times
  • in line 15(2)

Defined macros

NAMSIZ defined in line 4; used 6 times
NMOUNT defined in line 3; used 5 times
Last modified: 1979-01-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 606
Valid CSS Valid XHTML 1.0 Strict