summaryrefslogtreecommitdiff
path: root/benchmarks/nettest/patches/patch-ad
blob: 9c9cca8b44b3d080a0b1ca94960c66ff7ae1e8fd (plain)
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
$NetBSD: patch-ad,v 1.6 2006/06/22 15:00:51 joerg 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
@@ -79,7 +80,7 @@ int	ipoptions = 0;
 int	mesghdr = 0;
 #define	debug(x)	if(dflag>1)fprintf x
 int verbose;
-int daemon = 0;		/* are we running in daemon mode? */
+int is_daemon = 0;		/* are we running in daemon mode? */
 
 #ifdef	TCP_WINSHIFT
 int	winshift;
@@ -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)
@@ -139,7 +145,7 @@ char **argv;
 				    "-v flag ignored when -b flag is used\n");
 				verbose = 0;
 			}
-			daemon++;
+			is_daemon++;
 			break;
 		case 'd':	/* turn on socket level debugging */
 			++dflag;
@@ -204,7 +210,7 @@ char **argv;
 #endif
 
 		case 'v':	/* print out errors in sequenced data */
-			if (daemon) {
+			if (is_daemon) {
 				fprintf(stderr,
 				    "-v flag ignored when -b flag is used\n");
 				verbose = 0;
@@ -270,8 +276,12 @@ char **argv;
 #  endif
 # endif
 #endif
-	if (daemon) {
+	if (is_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) {
@@ -758,7 +769,7 @@ usage()
 error(string)
 char *string;
 {
-	if (daemon)
+	if (is_daemon)
 		syslog(LOG_ERR, "nettestd: %s %m", string);
 	else
 		perror(string);