# 2.11BSD#431 - /usr/src/new/notes/src/nfarchive.c

##### Functions

    archone           X
    main              X

##### Variables

    daysold           X
    deleteonly        X
    dirmsgflag        X
    worksetsize       X

##### Macros

    MAINLINE          X

       1: #define MAINLINE
       2: #include "parms.h"
       3: #include "structs.h"
       4:
       5: #ifdef  RCSIDENT
       6: static char rcsid[] = "$Header: nfarchive.c,v 1.7 85/01/18 15:25:22 notes Rel $";
       7: #endif	RCSIDENT
       8:
       9: /*
      10:  *	nfarchive - will archive the specified notesfiles. All notes that
      11:  *	have not been modofied in the last n days (default 14, settable
      12:  *	by option on command line) will be archived and placed in
      13:  *	the archive directory.
      14:  *
      15:  *	Ray Essick			March 1982
      16:  */
      17:
      18: int     deleteonly;
      19: int     dirmsgflag;                 /* key on dir msg */
      20: int     daysold = ARCHTIME;             /* eligibility age */
      21: int     worksetsize;                    /* minimum to keep */
      22:
      23: archone (nfname)
      24: char   *nfname;
      25: {
      26:     return archiver (nfname, daysold, worksetsize, deleteonly, dirmsgflag);
      27: }
      28:
      29:
      30: main (argc, argv)
      31: char  **argv;
      32: {
      33:     struct nflist_f *nfptr;
      34:     int     i;
      35:
      36:     startup (argc, argv);               /* common init */
      37:
      38:     if (argc == 1)
      39:     {
      40:     printf ("Usage: %s [-d] [-m+ or -m-] [-#] [-w#] [-f file] topic1 [topic2 ...]\n", argv[0]);
      41:     exit (BAD);
      42:     }
      43:
      44:     if (globuid != Notesuid)
      45:     {
      46:     printf ("Sorry, only notes 'owner' can archive notes\n");
      47:     exit (BAD);
      48:     }
      49:
      50:     deleteonly = 0;                 /* default to archiving */
      51:     dirmsgflag = DIRNOCARE;             /* don't consider dirmessage */
      52:     daysold = ARCHTIME;                 /* default threshold */
      53:     worksetsize = WORKSETSIZE;              /* default to leave */
      54:
      55:     for (i = 1; i < argc; i++)
      56:     {
      57:     if (argv[i][0] == '-')
      58:         switch (argv[i][1])
      59:         {
      60:         case 'd':               /* delete only, no archiving */
      61:             deleteonly = 1;
      62:             break;
      63:
      64:         case 'm':               /* director message status */
      65:             if (argv[i][2] == '-')
      66:             dirmsgflag = DIROFF;        /* delete when off */
      67:             else
      68:             dirmsgflag = DIRON;     /* only when on */
      69:                             /* also if just "-m" */
      70:             break;
      71:
      72:         case 'w':               /* change workset size */
      73:             if (argv[i][2] == '\0')
      74:             worksetsize = WORKSETSIZE;  /* default */
      75:             else
      76:             worksetsize = atoi (&argv[i][2]);/* specified */
      77:             break;
      78:
      79:         case '0':               /* allow 0 days */
      80:         case '1':               /* change days old parameter */
      81:         case '2':
      82:         case '3':
      83:         case '4':
      84:         case '5':
      85:         case '6':
      86:         case '7':
      87:         case '8':
      88:         case '9':
      89:             daysold = atoi (&argv[i][1]);
      90:             break;
      91:
      92:         case 'f':               /* process a file */
      93:             if (++i == argc)            /* no filename */
      94:             {
      95:             fprintf (stderr, "-f must be followed by filename\n");
      96:             exit (BAD);
      97:             }
      98:             readrc (argv[i]);
      99:             break;
     100:
     101:         default:
     102:             printf ("Bad switch: %c\n", argv[i][1]);
     103:             exit (BAD);
     104:         }
     105:     else
     106:         expand (argv[i]);               /* load it */
     107:     }
     108:
     109: /*
     110:  *	now process things
     111:  */
     112:
     113:     while ((nfptr = nextgroup ()) != (struct nflist_f *) NULL)
     114:     archone (nfptr -> nf_name);
     115:
     116:     exit (GOOD);
     117: }

#### Defined functions

archone defined in line 23; used 1 times

- in line 114

main defined in line 30; never used

#### Defined variables

daysold defined in line 20; used 3 times

- in line 26, 52, 89

deleteonly defined in line 18; used 3 times

- in line 26, 50, 61

dirmsgflag defined in line 19; used 4 times

- in line 26, 51, 66-68(2)

rcsid defined in line 6; never used
worksetsize defined in line 21; used 4 times

- in line 26, 53, 74-76(2)

#### Defined macros

MAINLINE defined in line 1; never used

Last modified: 1985-01-19 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 688 |