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

##### Functions

    prntind           X

       1: #include    "parms.h"
       2: #include    "structs.h"
       3:
       4: #ifdef  RCSIDENT
       5: static char rcsid[] = "$Header: prtind.c,v 1.7.0.1 85/03/18 20:56:33 notes Rel $";
       6: #endif	RCSIDENT
       7:
       8: /*
       9:  *	print the index page for a notefile
      10:  *
      11:  *	Original author: Rob Kolstad	Winter, 1980.
      12:  *	Modifications:	Ray Essick	June 1981.
      13:  *
      14:  */
      15:
      16:
      17: prntind (io, firstdis, lastdis)
      18: struct io_f *io;
      19: int    *firstdis,
      20:        *lastdis;
      21: {
      22:     struct note_f   note;
      23:     struct when_f   date;
      24:     char    buf[NAMESZ + SYSSZ + 2];            /* hold sys!author for truncation */
      25:     int     atrow;                  /* printing row counter */
      26:     int     lyr,
      27:             lday,
      28:             lmon;                   /* so we know if need to reprint date */
      29:     int     i;
      30:
      31:     erase ();
      32:     at (1, 2);
      33:     printf ("%s", io -> descr.d_title);         /* dump title */
      34:     gettime (&date);
      35:     at (1, 58);
      36:     prdate (&date);
      37:
      38:     if (io -> descr.d_stat & ISARCH)
      39:     {
      40:     at (2, 2);
      41: #ifdef  WRITEARCH                   /* archive writes? */
      42:     printf ("[ARCHIVE]");
      43: #else   ! WRITEARCH
      44:     printf ("[ARCHIVE - NO WRITES]");
      45: #endif	WRITEARCH
      46:     }
      47:
      48:     atrow = 5;                      /* start printing here */
      49:     lyr = lday = lmon = 0;              /* unknown prev date */
      50:     if (*firstdis > io -> descr.d_nnote - Nindex + 1)
      51:     *firstdis = io -> descr.d_nnote - Nindex + 1;
      52:     if (*firstdis < 1)
      53:     *firstdis = 1;
      54:     *lastdis = *firstdis + Nindex - 1;
      55:     for (i = *firstdis; (i <= *lastdis) & (i <= io -> descr.d_nnote); i++)
      56:     {                           /* which does not execute for empty file */
      57:     getnrec (io, i, &note);
      58:     if (note.n_stat & DELETED)
      59:     {
      60:         if (++(*lastdis) > io -> descr.d_nnote)
      61:         *lastdis = io -> descr.d_nnote;
      62:         continue;                   /* deleted note */
      63:     }
      64:     if (note.n_rcvd.w_year != lyr ||
      65:         note.n_rcvd.w_month != lmon ||
      66:         note.n_rcvd.w_day != lday)      /* need to print date? */
      67:     {
      68:         at (atrow, 1);
      69:         printf ("%d/%d", lmon = note.n_rcvd.w_month, lday = note.n_rcvd.w_day);
      70:         if (note.n_rcvd.w_year != lyr)
      71:         printf ("/%02d", (lyr = note.n_rcvd.w_year) % 100);
      72:     }
      73:     at (atrow, 10);
      74:     printf ("%3d", i);
      75:     if (note.n_stat & DIRMES)
      76:         printf ("*");
      77:     else
      78:         printf (" ");
      79:     clearerr (stdout);
      80:     fwrite (note.ntitle, 1, strlen (note.ntitle), stdout);
      81:     if (note.n_nresp != 0)
      82:     {
      83:         at (atrow, 10 + 4 + TITLEN + 1);
      84:         printf ("%3d", note.n_nresp);
      85:     }
      86:     at (atrow, 10 + 4 + TITLEN + 1 + 3 + 1);
      87:     if (strcmp (Authsystem, note.n_auth.asystem) != 0 &&
      88:         strcmp ("Anonymous", note.n_auth.aname) != 0)
      89:     {
      90: #ifdef  USERHOST
      91:         sprintf (buf, "%s@%s", note.n_auth.aname, note.n_auth.asystem);
      92: #else
      93:         sprintf (buf, "%s!%s", note.n_auth.asystem, note.n_auth.aname);
      94: #endif	USERHOST
      95:     }
      96:     else
      97:         sprintf (buf, "%s", note.n_auth.aname);
      98:
      99:     buf[26] = '\0';                 /* don't overflow line */
     100:     printf ("%s", buf);
     101:     if (isinput ())
     102:         return;                 /* he typed */
     103:     atrow++;
     104:     if (intflag)                    /* did he want out? */
     105:     {
     106:         *lastdis = i;               /* show last displayed */
     107:         intflag = 0;                /* don't do same one twice */
     108:     }
     109:     }
     110:
     111:     if (*lastdis >= io -> descr.d_nnote)
     112:     {
     113:     at (++atrow, 14);
     114:     printf ("**** End of Notes ****");
     115:     }
     116:
     117:     at (atrow + 2, 25);
     118:     printf ("- - - - - - - - - - - - - - -");
     119:
     120: }

#### Defined functions

prntind defined in line 17; used 2 times

- in /usr/src/new/notes/src/control.c line 160
- in /usr/src/new/notes/src/limindx.c line 36

#### Defined variables

rcsid defined in line 5; never used

Last modified: 1985-03-20 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 750 |