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 */
|