From 6b21a5b5bd2afe76d975cbc12180f1628895df9a Mon Sep 17 00:00:00 2001 From: Florian Schulze Date: Wed, 20 Mar 2002 17:59:25 +0000 Subject: [PATCH] Fix for big-endian. --- modify/pack.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/modify/pack.c b/modify/pack.c index c085730..e9ba73b 100644 --- a/modify/pack.c +++ b/modify/pack.c @@ -140,7 +140,25 @@ int main(int argc, char **argv) /* write the directory structure */ for (i = 0; i < num_entries; i++) { - write(fd, &datafile[i], 20); + char temp; + + write(fd, &datafile[i].filename, 12); + temp = (datafile[i].offset >> 0) & 0xff; + write(fd, &temp, 1); + temp = (datafile[i].offset >> 8) & 0xff; + write(fd, &temp, 1); + temp = (datafile[i].offset >> 16) & 0xff; + write(fd, &temp, 1); + temp = (datafile[i].offset >> 24) & 0xff; + write(fd, &temp, 1); + temp = (datafile[i].size >> 0) & 0xff; + write(fd, &temp, 1); + temp = (datafile[i].size >> 8) & 0xff; + write(fd, &temp, 1); + temp = (datafile[i].size >> 16) & 0xff; + write(fd, &temp, 1); + temp = (datafile[i].size >> 24) & 0xff; + write(fd, &temp, 1); } /* write in the actual files */ -- 2.39.2