wok diff syslinux/stuff/iso2exe/iso2exe.c @ rev 18789

Add opencv (again)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Jan 05 11:03:10 2016 +0100 (2016-01-05)
parents 1bbbc99b3df2
children f937073af512
line diff
     1.1 --- a/syslinux/stuff/iso2exe/iso2exe.c	Sun Jan 03 13:17:18 2016 +0100
     1.2 +++ b/syslinux/stuff/iso2exe/iso2exe.c	Tue Jan 05 11:03:10 2016 +0100
     1.3 @@ -311,7 +311,7 @@
     1.4  		}
     1.5  		lseek(fd, 0UL, SEEK_SET);
     1.6  		for (i = 0; i < 32; i++, n = BUFFERSZ) {
     1.7 -			write(fd, buffer + n, 1024);
     1.8 +			write(fd, buffer + n, BUFFERSZ);
     1.9  		}
    1.10  		i = getcustomsector();
    1.11  		lseek(fd, i * 2048UL, SEEK_SET);
    1.12 @@ -393,11 +393,14 @@
    1.13  		clear_config(pos);
    1.14  		lseek(fd, pos, SEEK_SET);
    1.15  		write(fd, "#!boot 00000000000000000000000000000000\n", 40);
    1.16 +		n = pos + 40;
    1.17  		md5_begin();
    1.18  		if (append) {
    1.19 +			i = strlen(append);
    1.20  			writenhash("append=", 7);
    1.21 -			writenhash(append, strlen(append));
    1.22 +			writenhash(append, i);
    1.23  			writenhash("\n", 1);
    1.24 +			n += i + 8;
    1.25  		}
    1.26  		if (initrd) {
    1.27  			char number[16], *p;
    1.28 @@ -420,6 +423,7 @@
    1.29  				writenhash("initrd:", 7);
    1.30  				i = number - p + sizeof(number);
    1.31  				writenhash(p, i);
    1.32 +				n += i + 7;
    1.33  				lseek(data, 0UL, SEEK_SET);
    1.34  				do {
    1.35  					i = read(data, buffer, BUFFERSZ);
    1.36 @@ -428,11 +432,22 @@
    1.37  					if (i > end)
    1.38  						i = end;
    1.39  					writenhash(buffer, i);
    1.40 +					n += i;
    1.41  					end -= i;
    1.42  				} while (end != 0);
    1.43  			}
    1.44  			close(data);
    1.45  		}
    1.46 +		while (n & 0x000FFFFFUL) {
    1.47 +			unsigned long i = 0x100000UL - (n & 0x000FFFFFUL);
    1.48 +			if (i > BUFFERSZ)
    1.49 +				i = BUFFERSZ;
    1.50 +			i = write(fd, buffer + BUFFERSZ, i);
    1.51 +			if (i <= 0)
    1.52 +				break;
    1.53 +			n += i;
    1.54 +		}
    1.55 +		ftruncate(fd, n);
    1.56  		md5_end();
    1.57  		{
    1.58  			static char h[] = "0123456789abcdef";