summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhpa <hpa>1998-05-13 02:03:19 +0000
committerhpa <hpa>1998-05-13 02:03:19 +0000
commitc20e45bebb58e1e86f0c898c045094e2255d967f (patch)
tree1b4943c2a7435156438f0a20f17ef53c11f2cc95
parenta9484fe4a86e2833c041c4f21fe429c0ecda1239 (diff)
downloadsyslinux-c20e45bebb58e1e86f0c898c045094e2255d967f.tar.gz
We have space in the boot sector to check the file-ness of LDLINUX.SYS
now; use it.
-rw-r--r--NEWS4
-rw-r--r--ldlinux.asm6
-rw-r--r--version2
3 files changed, 9 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 712272fb..4a2fcf87 100644
--- a/NEWS
+++ b/NEWS
@@ -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
diff --git a/version b/version
index 6477a571..a4c3d079 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-1.40
+1.41