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
Defined variables
sccsid
defined in line
2;
never used