diff options
author | hpa <hpa> | 1998-05-13 02:03:19 +0000 |
---|---|---|
committer | hpa <hpa> | 1998-05-13 02:03:19 +0000 |
commit | c20e45bebb58e1e86f0c898c045094e2255d967f (patch) | |
tree | 1b4943c2a7435156438f0a20f17ef53c11f2cc95 | |
parent | a9484fe4a86e2833c041c4f21fe429c0ecda1239 (diff) | |
download | syslinux-c20e45bebb58e1e86f0c898c045094e2255d967f.tar.gz |
We have space in the boot sector to check the file-ness of LDLINUX.SYS
now; use it.
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | ldlinux.asm | 6 | ||||
-rw-r--r-- | version | 2 |
3 files changed, 9 insertions, 3 deletions
@@ -1,3 +1,7 @@ +Changes in 1.41: + * Don't get confused by directories, volume labels, or VFAT + long names. + Changes in 1.40: * Increase A20M delay and put in a test to avoid problems on certain IBM Thinkpads (thanks to Donnie Barnes of RedHat diff --git a/ldlinux.asm b/ldlinux.asm index 9185bec2..a5d76468 100644 --- a/ldlinux.asm +++ b/ldlinux.asm @@ -547,13 +547,15 @@ sd_nextsec: push ax pop si sd_nextentry: cmp byte [si],0 ; Directory high water mark je kaboom + test byte [si+11],18h ; Must be a file + jnz sd_not_file mov di,ldlinux_name mov cx,11 push si repe cmpsb pop si je found_it - add si,byte 32 ; Distance to next +sd_not_file: add si,byte 32 ; Distance to next cmp si,[EndofDirSec] jb sd_nextentry pop dx @@ -2518,7 +2520,7 @@ load_last: mov si,trackbuf dir_test_name: cmp byte [si],0 ; Directory high water mark je dir_return ; Failed - test byte [si+11],018h ; Check it really is a file + test byte [si+11],18h ; Check it really is a file jnz dir_not_this push di push si @@ -1 +1 @@ -1.40 +1.41 |