wok-next diff syslinux/stuff/extra/md5sum.c @ rev 18783

syslinux: set tz command line argument
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Jan 03 13:17:18 2016 +0100 (2016-01-03)
parents 8ac5467237fd
children 67f5b3bae0a8
line diff
     1.1 --- a/syslinux/stuff/extra/md5sum.c	Sun Dec 06 17:41:24 2015 +0100
     1.2 +++ b/syslinux/stuff/extra/md5sum.c	Sun Jan 03 13:17:18 2016 +0100
     1.3 @@ -573,6 +573,7 @@
     1.4  		syslinux_setadv(slot++, strlen(*argv), *argv);
     1.5  }
     1.6  
     1.7 +#include "../../core/unlzma.c"
     1.8  static int main_kbdmap(int argc, char *argv[])
     1.9  {
    1.10      const struct syslinux_keyboard_map *const kmap = syslinux_keyboard_map();
    1.11 @@ -592,8 +593,18 @@
    1.12  
    1.13      msg = "Load error";
    1.14      if (kmap->version != 1 ||
    1.15 -	loadfile(argv[1], (void **) &kbdmap, &map_size) || 
    1.16 -	strncmp(kbdmap, "07070", 5))
    1.17 +	loadfile(argv[1], (void **) &kbdmap, &map_size))
    1.18 +    	goto kbdmap_error;
    1.19 +    if (* (short *) kbdmap == 0x005D) {
    1.20 +	void *p = malloc(map_size = * (long *) (kbdmap + 5));
    1.21 +	void *heap = malloc(2*(1846 + (768 << (3 + 0))) + 16);
    1.22 +
    1.23 +	unlzma(kbdmap, p, heap);
    1.24 +	free(heap);
    1.25 +	free(kbdmap);
    1.26 +	kbdmap = p;
    1.27 +    }
    1.28 +    if (strncmp(kbdmap, "07070", 5))
    1.29      	goto kbdmap_error;
    1.30  
    1.31      // search for mapfile in cpio archive