For extension *search*, SYSLINUX should now use the same code as the others. syslinux-3.36-pre6
authorH. Peter Anvin <hpa@zytor.com>
Wed, 7 Feb 2007 00:36:45 +0000 (16:36 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Wed, 7 Feb 2007 00:36:45 +0000 (16:36 -0800)
ldlinux.asm
ui.inc

index 0a872c3..a5637cd 100644 (file)
@@ -1599,11 +1599,11 @@ initrd_cmd_len  equ 7
 ;
 ; Extensions to search for (in *forward* order).
 ;
-exten_table:   db 'CBT',0              ; COMBOOT (specific)
-               db 'BSS',0              ; Boot Sector (add superblock)
-               db 'BS ',0              ; Boot Sector
-               db 'COM',0              ; COMBOOT (same as DOS)
-               db 'C32',0              ; COM32
+exten_table:   db '.cbt'               ; COMBOOT (specific)
+               db '.bss'               ; Boot Sector (add superblock)
+               db '.bs', 0             ; Boot Sector
+               db '.com'               ; COMBOOT (same as DOS)
+               db '.c32'               ; COM32
 exten_table_end:
                dd 0, 0                 ; Need 8 null bytes here
 
diff --git a/ui.inc b/ui.inc
index ad738e3..ddde6bb 100644 (file)
--- a/ui.inc
+++ b/ui.inc
@@ -316,10 +316,6 @@ vk_check:
 ; Find the kernel on disk
 ;
 get_kernel:     mov byte [KernelName+FILENAME_MAX],0   ; Zero-terminate filename/extension
-%if IS_SYSLINUX || IS_MDSLINUX                 ; SYSLINUX has to deal with DOS mangled names...
-               mov eax,[KernelName+8]          ; Save initial extension
-               mov [exten_table_end],eax       ; Last case == initial ext.
-%else
                mov di,KernelName+4*IS_PXELINUX
                xor al,al
                mov cx,FILENAME_MAX-5           ; Need 4 chars + null
@@ -327,7 +323,6 @@ get_kernel:     mov byte [KernelName+FILENAME_MAX],0        ; Zero-terminate filename/e
                jne .no_skip
                dec di                          ; Point to final null
 .no_skip:      mov [KernelExtPtr],di
-%endif
                mov bx,exten_table
 .search_loop:  push bx
                 mov di,KernelName              ; Search on disk
@@ -335,13 +330,9 @@ get_kernel:     mov byte [KernelName+FILENAME_MAX],0       ; Zero-terminate filename/e
                pop bx
                 jnz kernel_good
                mov eax,[bx]                    ; Try a different extension
-%if IS_SYSLINUX || IS_MDSLINUX
-               mov [KernelName+8],eax
-%else
                mov si,[KernelExtPtr]
                mov [si],eax
                mov byte [si+4],0
-%endif
                add bx,byte 4
                cmp bx,exten_table_end
                jna .search_loop                ; allow == case (final case)