1: #include "parms.h"
2: #include "structs.h"
3:
4: #ifdef RCSIDENT
5: static char rcsid[] = "$Header: adresp.c,v 1.7.0.1 85/09/09 18:30:38 notes Rel $";
6: #endif RCSIDENT
7:
8: /*
9: * addresp(io, fid, notenum)
10: * grab text from the terminal, with the appropriate
11: * prepending from fid, and stick it in the notefile as a response
12: * to notenumber notenum. OF course the policy note can't have
13: * responses so we check that.
14: *
15: * Original coding: Ray Essick January 1982
16: */
17:
18: addresp (io, preface, notenum, editflag)
19: struct io_f *io;
20: FILE * preface;
21: {
22: char anon;
23: char c;
24: int status;
25: int resp;
26: struct when_f now;
27: struct auth_f auth;
28: struct id_f unique;
29: struct daddr_f where;
30: struct note_f note;
31:
32: #ifndef WRITEARCH /* allowing writes */
33: if (io -> descr.d_stat & ISARCH && !allow (io, DRCTOK))
34: {
35: at (0, PROMPTMSGX);
36: printf ("Sorry, you can not write in an archive");
37: fflush (stdout);
38: sleep (2);
39: return (0);
40: }
41: #endif WRITEARCH
42: resp = 0;
43: at (0, PROMPTMSGX);
44: if (editflag == EDIT)
45: printf ("\nEdit Response Text:\n");
46: if (gettext (io, &where, preface, editflag) != 0)
47: {
48: anon = 'n';
49: if ((editflag == EDIT) && io -> descr.d_stat & ANONOK)
50: {
51: anon = askyn ("Do you wish this response to be anonymous (y/n): ");
52: printf ("\r \r");
53: if (anon == 'y') /* verify */
54: {
55: anon = askyn ("Do you REALLY wish this response to be anonymous (y/n): ");
56: printf ("\r \r");
57: }
58: }
59: status = 0;
60: if ((editflag == EDIT) && allow (io, DRCTOK)) /* director mesg */
61: {
62: c = askyn ("Director message (y/n): ");
63: printf ("\r \r");
64: if (c == 'y')
65: status |= DIRMES;
66: }
67:
68: gettime (&now); /* get time of writing */
69: getname (&auth, anon == 'y'); /* and author */
70: locknf (io, 'n'); /* lock up notesfile */
71: if ((resp = putresp (io, &where, status, notenum, &now, &auth, ¬e,
72: NOLOCKIT, &unique, ADDID, System, ADDTIME, &now)) == 0)
73: {
74: printf ("\nSorry, this note has just been deleted.\n");
75: fflush (stdout); /* force it out */
76: sleep (2);
77: }
78: unlocknf (io, 'n'); /* free now */
79: }
80: return resp; /* tell him which one */
81: }
Defined functions
Defined variables
rcsid
defined in line
5;
never used