Annotation of 43BSD/contrib/notes/src/dmpnote.c, revision 1.1

1.1     ! root        1: #include "parms.h"
        !             2: #include "structs.h"
        !             3: 
        !             4: #ifdef RCSIDENT
        !             5: static char rcsid[] = "$Header: dmpnote.c,v 1.7 85/01/18 15:08:44 notes Rel $";
        !             6: #endif RCSIDENT
        !             7: 
        !             8: /*     dmpnote - dump a note in canonical form. This routine
        !             9:  *     will take the note specified by the arguement and dump
        !            10:  *     it in a canonical form..
        !            11:  *
        !            12:  *     fid - file to write the output to 
        !            13:  *     note - the current descriptor for that note 
        !            14:  *
        !            15:  *     Original Coding:        Ray Essick      December 1981
        !            16:  */
        !            17: 
        !            18: 
        !            19: dmpnote (io, note, num, dmpfile, extensive, protocol)
        !            20: struct io_f *io;
        !            21: struct note_f  *note;
        !            22: FILE * dmpfile;
        !            23: {
        !            24:     char    buf[256];                                  /* hold some strings */
        !            25:     int     i;
        !            26: 
        !            27: 
        !            28:     switch (protocol)
        !            29:     {
        !            30:        case 0:                                         /* original */
        !            31:            fprintf (dmpfile, "N:%s:%ld:%d\n",
        !            32:                    note -> n_id.sys, note -> n_id.uniqid, note -> n_nresp);
        !            33:            fprintf (dmpfile, "%s\n", note -> ntitle);
        !            34: 
        !            35:            fprintf (dmpfile, "%s:%d:%s:\n", note -> n_auth.aname,
        !            36:                    note -> n_auth.aid & UIDMASK, note -> n_auth.asystem);
        !            37: 
        !            38:            fprintf (dmpfile, "%d:%d:%d:%d:%d:%ld:\n", note -> n_date.w_year, note -> n_date.w_month,
        !            39:                    note -> n_date.w_day, note -> n_date.w_hours,
        !            40:                    note -> n_date.w_mins, note -> n_date.w_gmttime);
        !            41: 
        !            42:            if (extensive)
        !            43:            {
        !            44:                fprintf (dmpfile, "%d:%d:%d:%d:%d:%ld:\n", note -> n_rcvd.w_year, note -> n_rcvd.w_month,
        !            45:                        note -> n_rcvd.w_day, note -> n_rcvd.w_hours,
        !            46:                        note -> n_rcvd.w_mins, note -> n_rcvd.w_gmttime);
        !            47: 
        !            48:                fprintf (dmpfile, "%d:%d:%d:%d:%d:%ld:\n", note -> n_lmod.w_year, note -> n_lmod.w_month,
        !            49:                        note -> n_lmod.w_day, note -> n_lmod.w_hours,
        !            50:                        note -> n_lmod.w_mins, note -> n_lmod.w_gmttime);
        !            51:                fprintf (dmpfile, "%s\n", note -> n_from);/* dump who from */
        !            52:            }
        !            53: 
        !            54: 
        !            55:            if (note -> n_addr.addr == 0)               /* for orphans */
        !            56:                note -> n_addr.textlen = 0;             /* used to not init */
        !            57:            fprintf (dmpfile, "%03o:%ld\n", note -> n_stat,
        !            58:                    ((long) note -> n_addr.textlen));   /* make sure long */
        !            59: 
        !            60:            pageout (io, &note -> n_addr, dmpfile);
        !            61:            break;
        !            62: 
        !            63:        case 1:                                         /* protocol 1 */
        !            64:            fprintf (dmpfile, "Protocol: 1 Note\n");    /* for loadem */
        !            65:            fprintf (dmpfile, "Title: %s\n", note -> ntitle);
        !            66:            fprintf (dmpfile, "Author: %s@%s\n",
        !            67:                    note -> n_auth.aname, note -> n_auth.asystem);
        !            68:            if (extensive)
        !            69:                fprintf (dmpfile, "Author-UID: %d\n", note -> n_auth.aid);
        !            70:            fprintf (dmpfile, "Note-ID: %s.%ld\n", note -> n_id.sys,
        !            71:                    note -> n_id.uniqid);
        !            72:            sprdate (&note -> n_date, buf);             /* format date */
        !            73:            fprintf (dmpfile, "Date-Written: %s\n", buf);
        !            74:            if (extensive)                              /* dump extra information */
        !            75:            {
        !            76:                sprdate (&note -> n_rcvd, buf);
        !            77:                fprintf (dmpfile, "Date-Received: %s\n", buf);
        !            78:                sprdate (&note -> n_lmod, buf);
        !            79:                fprintf (dmpfile, "Date-Modified: %s\n", buf);
        !            80:                fprintf (dmpfile, "Source-System: %s\n", note -> n_from);
        !            81:            }
        !            82:            fprintf (dmpfile, "Status:");               /* do the bits */
        !            83:            if (note -> n_stat & FRMNEWS)
        !            84:                fprintf (dmpfile, " Thru-News");
        !            85:            if (note -> n_stat & DIRMES)
        !            86:                fprintf (dmpfile, " Director-Message");
        !            87:            if (note -> n_stat & WRITONLY)
        !            88:                fprintf (dmpfile, " Write-Only");
        !            89:            if (note -> n_stat & ORPHND)
        !            90:                fprintf (dmpfile, " Foster-Parent");
        !            91:            putc ('\n', dmpfile);
        !            92:            if (note -> n_addr.addr == 0)               /* empty */
        !            93:                note -> n_addr.textlen = 0;
        !            94:            fprintf (dmpfile, "Text-Length: %ld bytes\n",
        !            95:                    (long) note -> n_addr.textlen);
        !            96:            pageout (io, &note -> n_addr, dmpfile);     /* dump text */
        !            97:            break;
        !            98: 
        !            99: 
        !           100:        default: 
        !           101:            fprintf (stderr, "dmpnote: Unsupported Protocol (%d)\n",
        !           102:                    protocol);
        !           103:            break;
        !           104:     }
        !           105: 
        !           106: }

unix.superglobalmegacorp.com

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