summaryrefslogtreecommitdiff
path: root/devel/sfio/patches/patch-ae
blob: 5a1ade60057a97da7023593b041689071a37fe02 (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
$NetBSD: patch-ae,v 1.2 1998/11/03 09:41:33 agc Exp $

Avoid compiler warning.

--- src/lib/sfio/sfwr.c	1998/11/02 17:49:14	1.1
+++ src/lib/sfio/sfwr.c	1998/11/02 17:52:14
@@ -14,8 +14,9 @@
 reg char*	buf;
 reg size_t	n;
 #endif
-{	reg char	*sp, *wbuf, *endbuf;
+{	reg char	*wbuf, *endbuf;
 	reg ssize_t	s, w, wr;
+	char		*sp;
 
 	s = w = 0;
 	wbuf = buf;
@@ -30,10 +31,14 @@
 			sp = buf+1;
 			if(buf[0] == 0 && buf[_Sfpage-1] == 0)
 			{	/* check byte at a time until int-aligned */
-				while(((Sfulong_t)sp)%sizeof(int))
+				Sfulong_t	dumbo;
+
+				(void) memcpy(&dumbo, &sp, sizeof(dumbo));
+				while(dumbo % sizeof(int) != 0)
 				{	if(*sp != 0)
 						goto chk_hole;
 					sp += 1;
+					(void) memcpy(&dumbo, &sp, sizeof(dumbo));
 				}
 
 				/* check using int to speed up */