Annotation of 43BSDTahoe/new/notes/src/adresp.c, revision 1.1

1.1     ! root        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, &note,
        !            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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.