summaryrefslogtreecommitdiff
path: root/src/unexec.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1995-10-03 09:15:49 +0000
committerRichard M. Stallman <rms@gnu.org>1995-10-03 09:15:49 +0000
commit68db017386579f2c100e606df13934378286271e (patch)
tree1389743ceafae1a4649bf26637490eab4d8e2fa4 /src/unexec.c
parente05169e2ea8280a89a6833c8868a8be081954e6a (diff)
downloademacs-68db017386579f2c100e606df13934378286271e.tar.gz
(write_segment): Use pagesize as unit of writing instead of 128.
Diffstat (limited to 'src/unexec.c')
-rw-r--r--src/unexec.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/unexec.c b/src/unexec.c
index 4b853e5b7ee..3be336a9a77 100644
--- a/src/unexec.c
+++ b/src/unexec.c
@@ -1014,14 +1014,15 @@ write_segment (new, ptr, end)
register int i, nwrite, ret;
char buf[80];
extern int errno;
- char zeros[128];
+ int pagesize = getpagesize ();
+ char *zeros = (char *) alloca (pagesize);
- bzero (zeros, sizeof zeros);
+ bzero (zeros, pagesize);
for (i = 0; ptr < end;)
{
- /* distance to next multiple of 128. */
- nwrite = (((int) ptr + 128) & -128) - (int) ptr;
+ /* distance to next multiple of pagesize. */
+ nwrite = (((int) ptr + pagesize) & -pagesize) - (int) ptr;
/* But not beyond specified end. */
if (nwrite > end - ptr) nwrite = end - ptr;
ret = write (new, ptr, nwrite);