# 2.11BSD#431 - /usr/src/new/nntp/server/ihave.c

##### Functions

    ihave             X

##### Variables

    ih_accepted       X
    ih_failed         X
    ih_rejected       X

       1: #ifndef lint
       2: static char *sccsid = "@(#)ihave.c	1.11	(Berkeley) 1/11/88";
       3: #endif
       4:
       5: #include "common.h"
       6:
       7: #ifdef LOG
       8: int ih_accepted;
       9: int ih_rejected;
      10: int ih_failed;
      11: #endif LOG
      12:
      13: /*
      14:  * IHAVE <messageid>
      15:  *
      16:  * Accept an article for transferral if we haven't seen it before.
      17:  */
      18:
      19: ihave(argc, argv)
      20:     int     argc;
      21:     char        *argv[];
      22: {
      23:     char        errbuf[2 * NNTP_STRLEN];
      24:     int     retcode;
      25:     register char   *cp;
      26:
      27:     if (argc != 2) {
      28:         printf("%d Usage: IHAVE <message-id>.\r\n", ERR_CMDSYN);
      29:         (void) fflush(stdout);
      30:         return;
      31:     }
      32:
      33:     cp = gethistent(argv[1]);
      34:     if (cp != NULL) {
      35:         printf("%d Got it.\r\n", ERR_GOTIT);
      36:         (void) fflush(stdout);
      37: #ifdef LOG
      38:         ih_rejected++;
      39: #ifdef IHAVE_DEBUG
      40:         syslog(LOG_DEBUG, "%s ihave %s rejected", hostname, argv[1]);
      41: #endif IHAVE_DEBUG
      42: #endif LOG
      43:         return;
      44:     }
      45:
      46:     retcode = spawn(rnews, "rnews", (char *) 0, CONT_XFER, ERR_XFERFAIL, errbuf);
      47:     if (retcode <= 0)
      48:         printf("%d %s\r\n", ERR_XFERFAIL, errbuf);
      49:     else if (retcode > 0)
      50:         printf("%d Thanks.\r\n",
      51:             OK_XFERED);
      52:     (void) fflush(stdout);
      53:
      54: #ifdef LOG
      55:     if (retcode == 1)
      56:         ih_accepted++;
      57:     else
      58:         ih_failed++;
      59:
      60: #ifdef IHAVE_DEBUG
      61:     syslog(LOG_DEBUG, "%s ihave %s accepted %s",
      62:         hostname, argv[1], retcode == 1 ? "succeeded" : "failed");
      63: #endif IHAVE_DEBUG
      64: #endif LOG
      65:
      66: }

#### Defined functions

ihave defined in line 19; used 2 times

- in /usr/src/new/nntp/server/serve.c line 23, 36

#### Defined variables

ih_accepted defined in line 8; used 4 times

- in line 56
- in /usr/src/new/nntp/server/ihave.c line 56
- in /usr/src/new/nntp/server/serve.c line 275-279(2)

ih_failed defined in line 10; used 4 times

- in line 58
- in /usr/src/new/nntp/server/ihave.c line 58
- in /usr/src/new/nntp/server/serve.c line 275, 281

ih_rejected defined in line 9; used 4 times

- in line 38
- in /usr/src/new/nntp/server/ihave.c line 38
- in /usr/src/new/nntp/server/serve.c line 275-280(2)

sccsid defined in line 2; never used

Last modified: 1988-01-12 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 1226 |