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
main
defined in line
30;
never used
Defined variables
rcsid
defined in line
6;
never used
Defined macros