wok-next diff syslinux/stuff/iso2exe/iso2exe.c @ rev 14264
syslinux/iso2exe: fix initrd offset
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Mon Apr 01 09:45:40 2013 +0200 (2013-04-01) |
parents | 0c880b8c93be |
children | ff85ea851c53 |
line diff
1.1 --- a/syslinux/stuff/iso2exe/iso2exe.c Sat Mar 30 20:33:34 2013 +0100 1.2 +++ b/syslinux/stuff/iso2exe/iso2exe.c Mon Apr 01 09:45:40 2013 +0200 1.3 @@ -4,7 +4,9 @@ 1.4 #include "iso2exe.h" 1.5 1.6 static int fd; 1.7 -static char buffer[2048]; 1.8 +static char tazlitoinfo[10*1024]; 1.9 +#define buffer tazlitoinfo 1.10 +#define BUFFERSZ 2048 1.11 1.12 static void quit(char *msg) 1.13 { 1.14 @@ -14,8 +16,8 @@ 1.15 1.16 static void readsector(unsigned long sector) 1.17 { 1.18 - if (lseek(fd, sector * sizeof(buffer), SEEK_SET) == -1 || 1.19 - read(fd, buffer, sizeof(buffer)) != sizeof(buffer)) 1.20 + if (lseek(fd, sector * BUFFERSZ, SEEK_SET) == -1 || 1.21 + read(fd, buffer, BUFFERSZ) != BUFFERSZ) 1.22 quit("read sector failure"); 1.23 } 1.24 1.25 @@ -28,7 +30,6 @@ 1.26 unsigned long size, catalog, lba; 1.27 int cylinders, i, j, isohybrid; 1.28 unsigned n; 1.29 - char tazlitoinfo[10*1024]; 1.30 #ifndef WIN32 1.31 char *bootiso; 1.32 for (bootiso = (char *) main; 1.33 @@ -86,9 +87,9 @@ 1.34 // Compute the checksum 1.35 lseek(fd, 0UL, SEEK_SET); 1.36 for (i = 66, n = 0, j = 0; j < 16; j++, i = 0) { 1.37 - if (read(fd, buffer, sizeof(buffer)) != sizeof(buffer)) 1.38 + if (read(fd, buffer, BUFFERSZ) != BUFFERSZ) 1.39 goto nochksum; 1.40 - for (; i < sizeof(buffer); i += 2) 1.41 + for (; i < BUFFERSZ; i += 2) 1.42 n += * (unsigned short *) (buffer + i); 1.43 } 1.44 * (unsigned short *) (bootiso + 64) = -n;