1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
$NetBSD: patch-ad,v 1.5 2006/06/21 14:27:28 minskim Exp $
--- nettestd.c.orig 1992-11-05 21:52:58.000000000 +0000
+++ nettestd.c
@@ -42,6 +42,7 @@ char copyright[] =
#include <errno.h>
#include <signal.h>
+#include <stdlib.h>
#ifdef WAIT3CODE
#include <sys/wait.h>
#endif
@@ -107,7 +108,12 @@ union {
} name;
int namesize;
-int read(), recv();
+int read();
+#if defined(sgi) && _NO_XOPEN4 && _NO_XOPEN5
+int recv();
+#else
+ssize_t recv();
+#endif
int (*rfunc)() = read;
main(argc, argv)
@@ -271,7 +277,11 @@ char **argv;
# endif
#endif
if (daemon) {
+#ifdef NONVOID_SETPGRP
+ if (setpgrp(0, getpid()) < 0)
+#else
if (setpgrp() < 0)
+#endif
perror("setpgrp");
if ((c = open(_PATH_TTY, O_RDWR)) >= 0) {
(void)ioctl(c, TIOCNOTTY, (char *)0);
@@ -416,7 +426,7 @@ char **argv;
)
error("setsockopt (IP_OPTIONS)");
#endif
- if (bind(s, (char *)&name, namesize) < 0) {
+ if (bind(s, (struct sockaddr *)&name, namesize) < 0) {
error("bind");
exit(1);
}
@@ -447,12 +457,11 @@ register int s;
#endif
listen(s, 5);
- signal(SIGCHLD, dochild);
+ signal(SIGCHLD, (void *)dochild);
for (;;) {
namesize = sizeof(name);
- s2 = accept(s, (char *)&name, &namesize);
+ s2 = accept(s, (struct sockaddr *)&name, &namesize);
if (s2 < 0) {
- extern int errno;
if (errno == EINTR)
continue;
error("accept");
@@ -516,7 +525,7 @@ register in, out;
{
register int i, t, offset = 0;
register char *cp, *data;
- char buf[128], *malloc();
+ char buf[128];
int chunks = 0, chunksize = 0, fullbuf = 0, kbufsize = 0;
int tos = 0, nodelay = 0, seqdata = 0, waitall = 0;
register unsigned long hival, loval;
@@ -684,7 +693,7 @@ int s;
register int t, t2;
register char *cp, *data;
register struct hostent *hp;
- char *inet_ntoa(), *malloc();
+ char *inet_ntoa();
register char *errmsg;
#ifdef CMSG_DATA
struct msghdr inmsg;
@@ -707,7 +716,9 @@ int s;
inmsg.msg_iovlen = 1;
inmsg.msg_name = (caddr_t)&name.d_inet;
inmsg.msg_control = (caddr_t)control;
+#ifndef sgi
inmsg.msg_flags = 0;
+#endif
errmsg = "recvmsg";
} else
#endif /* CMSG_DATA */
@@ -723,7 +734,7 @@ int s;
#endif
{
namesize = sizeof(name.d_inet);
- t = recvfrom(s, data, MAXSIZE, 0, (char *)&name.d_inet,
+ t = recvfrom(s, data, MAXSIZE, 0, (struct sockaddr *)&name.d_inet,
&namesize);
}
if (t < 0) {
|