[syslinux] [PATCH] parseconfig, ui: store the label name unmangled
H. Peter Anvin
hpa at zytor.com
Tue Jul 22 10:35:40 PDT 2008
Sebastian Herbszt wrote:
> Index: syslinux-3.71-pre15/core/ui.inc
> ===================================================================
> --- syslinux-3.71-pre15.orig/core/ui.inc 2008-07-22 16:32:48.000000000 +0200
> +++ syslinux-3.71-pre15/core/ui.inc 2008-07-22 16:32:58.000000000 +0200
> @@ -308,12 +308,26 @@
>
> sub di,cx ; Return to beginning of buf
> push si
> - mov si,KernelName
> + mov si,command_line
> mov cx,FILENAME_MAX
> - es repe cmpsb
> +.loop:
> + dec cx
> + jz .done
> + lodsb
> + mov ah,[di]
> + inc di
> + cmp ah,al
> + je .match
> + jmp .nomatch
> +.match:
> + cmp al,' '
> + jna .done
> + jmp .loop
> +.nomatch:
> pop si
> - je .found
> jmp .scan
> +.done:
> + pop si
>
> ;
> ; We *are* using a "virtual kernel"
>
Hm... I don't think this works. In particular, consider the case when
command_line contains "foo and some args" and the label is "foo". You
will fail, because it will try to compare the space with the terminating
null, which you do before hitting the cmp al,' ' at .match.
-hpa
More information about the Syslinux
mailing list