xref: /OK3568_Linux_fs/buildroot/package/nuttcp/0001-susv3-legacy.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun[PATCH] Replace susv3 legacy function with modern equivalents
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunSigned-off-by: Peter Korsgaard <jacmet@sunsite.dk>
4*4882a593Smuzhiyun---
5*4882a593Smuzhiyun nuttcp-6.1.2.c |   90 ++++++++++++++++++++++++++++-----------------------------
6*4882a593Smuzhiyun 1 file changed, 45 insertions(+), 45 deletions(-)
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunIndex: nuttcp-6.1.2/nuttcp-6.1.2.c
9*4882a593Smuzhiyun===================================================================
10*4882a593Smuzhiyun--- nuttcp-6.1.2.orig/nuttcp-6.1.2.c
11*4882a593Smuzhiyun+++ nuttcp-6.1.2/nuttcp-6.1.2.c
12*4882a593Smuzhiyun@@ -1925,11 +1925,11 @@
13*4882a593Smuzhiyun 	if (udp && !haverateopt)
14*4882a593Smuzhiyun 		rate = DEFAULT_UDP_RATE;
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun-	bzero((char *)&frominet, sizeof(frominet));
17*4882a593Smuzhiyun-	bzero((char *)&clientaddr, sizeof(clientaddr));
18*4882a593Smuzhiyun+	memset((char *)&frominet, 0, sizeof(frominet));
19*4882a593Smuzhiyun+	memset((char *)&clientaddr, 0, sizeof(clientaddr));
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun #ifdef AF_INET6
22*4882a593Smuzhiyun-	bzero((char *)&clientaddr6, sizeof(clientaddr6));
23*4882a593Smuzhiyun+	memset((char *)&clientaddr6, 0, sizeof(clientaddr6));
24*4882a593Smuzhiyun 	clientscope6 = 0;
25*4882a593Smuzhiyun #endif
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun@@ -1985,7 +1985,7 @@
28*4882a593Smuzhiyun 		}
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun 		while (stream_idx <= nstream) {
31*4882a593Smuzhiyun-			bzero(&hints, sizeof(hints));
32*4882a593Smuzhiyun+			memset(&hints, 0, sizeof(hints));
33*4882a593Smuzhiyun 			res[stream_idx] = NULL;
34*4882a593Smuzhiyun 			if (explicitaf) hints.ai_family = af;
35*4882a593Smuzhiyun 			if ((cp2 = strchr(cp1, '/'))) {
36*4882a593Smuzhiyun@@ -3013,12 +3013,12 @@
37*4882a593Smuzhiyun 		if ((stream_idx > 0) && skip_data)
38*4882a593Smuzhiyun 			break;
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun-		bzero((char *)&sinme[stream_idx], sizeof(sinme[stream_idx]));
41*4882a593Smuzhiyun-		bzero((char *)&sinhim[stream_idx], sizeof(sinhim[stream_idx]));
42*4882a593Smuzhiyun+		memset((char *)&sinme[stream_idx], 0, sizeof(sinme[stream_idx]));
43*4882a593Smuzhiyun+		memset((char *)&sinhim[stream_idx], 0, sizeof(sinhim[stream_idx]));
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun #ifdef AF_INET6
46*4882a593Smuzhiyun-		bzero((char *)&sinme6[stream_idx], sizeof(sinme6[stream_idx]));
47*4882a593Smuzhiyun-		bzero((char *)&sinhim6[stream_idx], sizeof(sinhim6[stream_idx]));
48*4882a593Smuzhiyun+		memset((char *)&sinme6[stream_idx], 0, sizeof(sinme6[stream_idx]));
49*4882a593Smuzhiyun+		memset((char *)&sinhim6[stream_idx], 0, sizeof(sinhim6[stream_idx]));
50*4882a593Smuzhiyun #endif
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun 		if (((trans && !reverse) && (stream_idx > 0)) ||
53*4882a593Smuzhiyun@@ -3028,15 +3028,15 @@
54*4882a593Smuzhiyun 			if (client) {
55*4882a593Smuzhiyun 				if (af == AF_INET) {
56*4882a593Smuzhiyun 				    sinhim[stream_idx].sin_family = af;
57*4882a593Smuzhiyun-				    bcopy((char *)&(((struct sockaddr_in *)res[stream_idx]->ai_addr)->sin_addr),
58*4882a593Smuzhiyun-					  (char *)&sinhim[stream_idx].sin_addr.s_addr,
59*4882a593Smuzhiyun+				    memcpy((char *)&sinhim[stream_idx].sin_addr.s_addr,
60*4882a593Smuzhiyun+					  (char *)&(((struct sockaddr_in *)res[stream_idx]->ai_addr)->sin_addr),
61*4882a593Smuzhiyun 					  sizeof(sinhim[stream_idx].sin_addr.s_addr));
62*4882a593Smuzhiyun 				}
63*4882a593Smuzhiyun #ifdef AF_INET6
64*4882a593Smuzhiyun 				else if (af == AF_INET6) {
65*4882a593Smuzhiyun 				    sinhim6[stream_idx].sin6_family = af;
66*4882a593Smuzhiyun-				    bcopy((char *)&(((struct sockaddr_in6 *)res[stream_idx]->ai_addr)->sin6_addr),
67*4882a593Smuzhiyun-					  (char *)&sinhim6[stream_idx].sin6_addr.s6_addr,
68*4882a593Smuzhiyun+				    memcpy((char *)&sinhim6[stream_idx].sin6_addr.s6_addr,
69*4882a593Smuzhiyun+					  (char *)&(((struct sockaddr_in6 *)res[stream_idx]->ai_addr)->sin6_addr),
70*4882a593Smuzhiyun 					  sizeof(sinhim6[stream_idx].sin6_addr.s6_addr));
71*4882a593Smuzhiyun 				    sinhim6[stream_idx].sin6_scope_id = ((struct sockaddr_in6 *)res[stream_idx]->ai_addr)->sin6_scope_id;
72*4882a593Smuzhiyun 				}
73*4882a593Smuzhiyun@@ -3113,8 +3113,8 @@
74*4882a593Smuzhiyun 				 * to the multicast group
75*4882a593Smuzhiyun 				 */
76*4882a593Smuzhiyun 				if (af == AF_INET) {
77*4882a593Smuzhiyun-				    bcopy((char *)&sinhim[1].sin_addr.s_addr,
78*4882a593Smuzhiyun-					(char *)&save_sinhim.sin_addr.s_addr,
79*4882a593Smuzhiyun+				    memcpy((char *)&save_sinhim.sin_addr.s_addr,
80*4882a593Smuzhiyun+					(char *)&sinhim[1].sin_addr.s_addr,
81*4882a593Smuzhiyun 					sizeof(struct in_addr));
82*4882a593Smuzhiyun 				    if (!client && (irvers >= 50505)) {
83*4882a593Smuzhiyun 					struct sockaddr_in peer;
84*4882a593Smuzhiyun@@ -3124,8 +3124,8 @@
85*4882a593Smuzhiyun 						      &peerlen) < 0) {
86*4882a593Smuzhiyun 						err("getpeername");
87*4882a593Smuzhiyun 					}
88*4882a593Smuzhiyun-					bcopy((char *)&peer.sin_addr.s_addr,
89*4882a593Smuzhiyun-					    (char *)&sinhim[1].sin_addr.s_addr,
90*4882a593Smuzhiyun+					memcpy((char *)&sinhim[1].sin_addr.s_addr,
91*4882a593Smuzhiyun+					    (char *)&peer.sin_addr.s_addr,
92*4882a593Smuzhiyun 					    sizeof(struct in_addr));
93*4882a593Smuzhiyun 				    }
94*4882a593Smuzhiyun 				    else {
95*4882a593Smuzhiyun@@ -3136,8 +3136,8 @@
96*4882a593Smuzhiyun 							&melen) < 0) {
97*4882a593Smuzhiyun 						err("getsockname");
98*4882a593Smuzhiyun 					}
99*4882a593Smuzhiyun-					bcopy((char *)&me.sin_addr.s_addr,
100*4882a593Smuzhiyun-					    (char *)&sinhim[1].sin_addr.s_addr,
101*4882a593Smuzhiyun+					memcpy((char *)&sinhim[1].sin_addr.s_addr,
102*4882a593Smuzhiyun+					    (char *)&me.sin_addr.s_addr,
103*4882a593Smuzhiyun 					    sizeof(struct in_addr));
104*4882a593Smuzhiyun 				    }
105*4882a593Smuzhiyun 				    sinhim[1].sin_addr.s_addr &=
106*4882a593Smuzhiyun@@ -4197,13 +4197,13 @@
107*4882a593Smuzhiyun 						&melen) < 0) {
108*4882a593Smuzhiyun 					err("getsockname");
109*4882a593Smuzhiyun 				}
110*4882a593Smuzhiyun-				bcopy((char *)&me.sin_addr.s_addr,
111*4882a593Smuzhiyun-				      (char *)&mc_group.imr_multiaddr.s_addr,
112*4882a593Smuzhiyun+				memcpy((char *)&mc_group.imr_multiaddr.s_addr,
113*4882a593Smuzhiyun+				      (char *)&me.sin_addr.s_addr,
114*4882a593Smuzhiyun 				      sizeof(struct in_addr));
115*4882a593Smuzhiyun 			}
116*4882a593Smuzhiyun 			else {
117*4882a593Smuzhiyun-				bcopy((char *)&peer.sin_addr.s_addr,
118*4882a593Smuzhiyun-				      (char *)&mc_group.imr_multiaddr.s_addr,
119*4882a593Smuzhiyun+				memcpy((char *)&mc_group.imr_multiaddr.s_addr,
120*4882a593Smuzhiyun+				      (char *)&peer.sin_addr.s_addr,
121*4882a593Smuzhiyun 				      sizeof(struct in_addr));
122*4882a593Smuzhiyun 			}
123*4882a593Smuzhiyun 			mc_group.imr_multiaddr.s_addr &= htonl(0xFFFFFF);
124*4882a593Smuzhiyun@@ -4330,12 +4330,12 @@
125*4882a593Smuzhiyun 			if(udp) {
126*4882a593Smuzhiyun 				strcpy(buf, "BOD0");
127*4882a593Smuzhiyun 				if (multicast) {
128*4882a593Smuzhiyun-				    bcopy((char *)&sinhim[1].sin_addr.s_addr,
129*4882a593Smuzhiyun-					  (char *)&save_mc.sin_addr.s_addr,
130*4882a593Smuzhiyun-					  sizeof(struct in_addr));
131*4882a593Smuzhiyun-				    bcopy((char *)&save_sinhim.sin_addr.s_addr,
132*4882a593Smuzhiyun+				    memcpy((char *)&save_mc.sin_addr.s_addr,
133*4882a593Smuzhiyun 					  (char *)&sinhim[1].sin_addr.s_addr,
134*4882a593Smuzhiyun 					  sizeof(struct in_addr));
135*4882a593Smuzhiyun+				    memcpy((char *)&sinhim[1].sin_addr.s_addr,
136*4882a593Smuzhiyun+					  (char *)&save_sinhim.sin_addr.s_addr,
137*4882a593Smuzhiyun+					  sizeof(struct in_addr));
138*4882a593Smuzhiyun 				}
139*4882a593Smuzhiyun 				(void)Nwrite( fd[stream_idx + 1], buf, 4 ); /* rcvr start */
140*4882a593Smuzhiyun 				if (two_bod) {
141*4882a593Smuzhiyun@@ -4344,8 +4344,8 @@
142*4882a593Smuzhiyun 					(void)Nwrite( fd[stream_idx + 1], buf, 4 ); /* rcvr start */
143*4882a593Smuzhiyun 				}
144*4882a593Smuzhiyun 				if (multicast) {
145*4882a593Smuzhiyun-				    bcopy((char *)&save_mc.sin_addr.s_addr,
146*4882a593Smuzhiyun-					  (char *)&sinhim[1].sin_addr.s_addr,
147*4882a593Smuzhiyun+				    memcpy((char *)&sinhim[1].sin_addr.s_addr,
148*4882a593Smuzhiyun+					  (char *)&save_mc.sin_addr.s_addr,
149*4882a593Smuzhiyun 					  sizeof(struct in_addr));
150*4882a593Smuzhiyun 				}
151*4882a593Smuzhiyun 				if (timeout)
152*4882a593Smuzhiyun@@ -4361,7 +4361,7 @@
153*4882a593Smuzhiyun 				fflush(stdout);
154*4882a593Smuzhiyun 			}
155*4882a593Smuzhiyun 			if (udplossinfo)
156*4882a593Smuzhiyun-				bcopy(&nbytes, buf + 24, 8);
157*4882a593Smuzhiyun+				memcpy(buf + 24, &nbytes, 8);
158*4882a593Smuzhiyun 			if (!udp && interval && !(format & NORETRANS) &&
159*4882a593Smuzhiyun 			    ((retransinfo == 1) ||
160*4882a593Smuzhiyun 			     ((retransinfo >= 2) &&
161*4882a593Smuzhiyun@@ -4372,13 +4372,13 @@
162*4882a593Smuzhiyun 					tmp = 0x5254524Eu;	/* "RTRN" */
163*4882a593Smuzhiyun 				else
164*4882a593Smuzhiyun 					tmp = 0x48525452u;	/* "HRTR" */
165*4882a593Smuzhiyun-				bcopy(&nretrans, buf + 24, 4);
166*4882a593Smuzhiyun-				bcopy(&tmp, buf + 28, 4);
167*4882a593Smuzhiyun+				memcpy(buf + 24, &nretrans, 4);
168*4882a593Smuzhiyun+				memcpy(buf + 28, &tmp, 4);
169*4882a593Smuzhiyun 			}
170*4882a593Smuzhiyun 			else {
171*4882a593Smuzhiyun 				send_retrans = 0;
172*4882a593Smuzhiyun 				if (!udp)
173*4882a593Smuzhiyun-					bzero(buf + 24, 8);
174*4882a593Smuzhiyun+					memset(buf + 24, 0, 8);
175*4882a593Smuzhiyun 			}
176*4882a593Smuzhiyun 			if (nbuf == INT_MAX)
177*4882a593Smuzhiyun 				nbuf = ULLONG_MAX;
178*4882a593Smuzhiyun@@ -4423,12 +4423,12 @@
179*4882a593Smuzhiyun 				nbytes += buflen;
180*4882a593Smuzhiyun 				cnt = 0;
181*4882a593Smuzhiyun 				if (udplossinfo)
182*4882a593Smuzhiyun-					bcopy(&nbytes, buf + 24, 8);
183*4882a593Smuzhiyun+					memcpy(buf + 24, &nbytes, 8);
184*4882a593Smuzhiyun 				if (send_retrans) {
185*4882a593Smuzhiyun 					nretrans = get_retrans(
186*4882a593Smuzhiyun 							fd[stream_idx + 1]);
187*4882a593Smuzhiyun 					nretrans -= iretrans;
188*4882a593Smuzhiyun-					bcopy(&nretrans, buf + 24, 4);
189*4882a593Smuzhiyun+					memcpy(buf + 24, &nretrans, 4);
190*4882a593Smuzhiyun 				}
191*4882a593Smuzhiyun 				stream_idx++;
192*4882a593Smuzhiyun 				stream_idx = stream_idx % nstream;
193*4882a593Smuzhiyun@@ -4523,8 +4523,8 @@
194*4882a593Smuzhiyun 				nbytes += cnt;
195*4882a593Smuzhiyun 			if(udp) {
196*4882a593Smuzhiyun 				if (multicast)
197*4882a593Smuzhiyun-				    bcopy((char *)&save_sinhim.sin_addr.s_addr,
198*4882a593Smuzhiyun-					  (char *)&sinhim[1].sin_addr.s_addr,
199*4882a593Smuzhiyun+				    memcpy((char *)&sinhim[1].sin_addr.s_addr,
200*4882a593Smuzhiyun+					  (char *)&save_sinhim.sin_addr.s_addr,
201*4882a593Smuzhiyun 					  sizeof(struct in_addr));
202*4882a593Smuzhiyun 				strcpy(buf, "EOD0");
203*4882a593Smuzhiyun 				(void)Nwrite( fd[stream_idx + 1], buf, 4 ); /* rcvr end */
204*4882a593Smuzhiyun@@ -4532,7 +4532,7 @@
205*4882a593Smuzhiyun 		} else {
206*4882a593Smuzhiyun 			first_read = 1;
207*4882a593Smuzhiyun 			need_swap = 0;
208*4882a593Smuzhiyun-			bzero(buf + 24, 8);
209*4882a593Smuzhiyun+			memset(buf + 24, 0, 8);
210*4882a593Smuzhiyun 			if (udp) {
211*4882a593Smuzhiyun 			    ntbytesc = 0;
212*4882a593Smuzhiyun 			    got_eod0 = 0;
213*4882a593Smuzhiyun@@ -4584,7 +4584,7 @@
214*4882a593Smuzhiyun 				     * goes off right here */
215*4882a593Smuzhiyun 				    if (udplossinfo) {
216*4882a593Smuzhiyun 					    if (first_read) {
217*4882a593Smuzhiyun-						    bcopy(buf + 24, &ntbytesc,
218*4882a593Smuzhiyun+						    memcpy(&ntbytesc, buf + 24,
219*4882a593Smuzhiyun 								8);
220*4882a593Smuzhiyun 						    first_read = 0;
221*4882a593Smuzhiyun 						    if (ntbytesc > 0x100000000ull)
222*4882a593Smuzhiyun@@ -4598,7 +4598,7 @@
223*4882a593Smuzhiyun 						    }
224*4882a593Smuzhiyun 					    }
225*4882a593Smuzhiyun 					    if (!need_swap)
226*4882a593Smuzhiyun-						    bcopy(buf + 24, &ntbytesc,
227*4882a593Smuzhiyun+						    memcpy(&ntbytesc, buf + 24,
228*4882a593Smuzhiyun 								8);
229*4882a593Smuzhiyun 					    else {
230*4882a593Smuzhiyun 						    cp1 = (char *)&ntbytesc;
231*4882a593Smuzhiyun@@ -4627,8 +4627,8 @@
232*4882a593Smuzhiyun 					    uint32_t tmp;
233*4882a593Smuzhiyun
234*4882a593Smuzhiyun 					    first_read = 0;
235*4882a593Smuzhiyun-					    bcopy(buf + 24, &nretrans, 4);
236*4882a593Smuzhiyun-					    bcopy(buf + 28, &tmp, 4);
237*4882a593Smuzhiyun+					    memcpy(&nretrans, buf + 24, 4);
238*4882a593Smuzhiyun+					    memcpy(&tmp, buf + 28, 4);
239*4882a593Smuzhiyun 					    if (tmp == 0x5254524Eu) {
240*4882a593Smuzhiyun 						    /* "RTRN" */
241*4882a593Smuzhiyun 						    retransinfo = 1;
242*4882a593Smuzhiyun@@ -4661,7 +4661,7 @@
243*4882a593Smuzhiyun 				    }
244*4882a593Smuzhiyun 				    if (read_retrans) {
245*4882a593Smuzhiyun 					    if (!need_swap)
246*4882a593Smuzhiyun-						    bcopy(buf + 24, &nretrans,
247*4882a593Smuzhiyun+						    memcpy(&nretrans, buf + 24,
248*4882a593Smuzhiyun 								4);
249*4882a593Smuzhiyun 					    else {
250*4882a593Smuzhiyun 						    cp1 = (char *)&nretrans;
251*4882a593Smuzhiyun@@ -5327,10 +5327,10 @@
252*4882a593Smuzhiyun 		itimer.it_interval.tv_usec = 0;
253*4882a593Smuzhiyun 		setitimer(ITIMER_REAL, &itimer, 0);
254*4882a593Smuzhiyun 		signal(SIGALRM, SIG_DFL);
255*4882a593Smuzhiyun-		bzero((char *)&frominet, sizeof(frominet));
256*4882a593Smuzhiyun-		bzero((char *)&clientaddr, sizeof(clientaddr));
257*4882a593Smuzhiyun+		memset((char *)&frominet, 0, sizeof(frominet));
258*4882a593Smuzhiyun+		memset((char *)&clientaddr, 0, sizeof(clientaddr));
259*4882a593Smuzhiyun #ifdef AF_INET6
260*4882a593Smuzhiyun-		bzero((char *)&clientaddr6, sizeof(clientaddr));
261*4882a593Smuzhiyun+		memset((char *)&clientaddr6, 0, sizeof(clientaddr));
262*4882a593Smuzhiyun 		clientscope6 = 0;
263*4882a593Smuzhiyun #endif
264*4882a593Smuzhiyun 		cput = 0.000001;
265