diff options
author | H. Peter Anvin <hpa@zytor.com> | 2007-05-22 23:27:46 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2007-05-22 23:27:46 -0700 |
commit | b901a125510486e190dd841dfa616cafff0c9242 (patch) | |
tree | e0fe9893d5f3dc204b72509e70add30d414e2107 /ldlinux.asm | |
parent | 1e7084a905560314d7a30b7826d77783f4d3740e (diff) | |
download | syslinux-elf-b901a125510486e190dd841dfa616cafff0c9242.tar.gz syslinux-elf-b901a125510486e190dd841dfa616cafff0c9242.tar.xz syslinux-elf-b901a125510486e190dd841dfa616cafff0c9242.zip |
Make it safe to call close_file on an already closed file.syslinux-3.50-pre15
The SYSLINUX internal API closes a file automatically upon reading
to block EOF (not necessarily file EOF!) Thus, it's fairly likely
we'll get SI == 0 (closed file) passed to close_file at some point
or another.
Just plain admit it, and make close_file accept SI == 0 by spec.
Diffstat (limited to 'ldlinux.asm')
-rw-r--r-- | ldlinux.asm | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ldlinux.asm b/ldlinux.asm index 7d7b8f23..eed29519 100644 --- a/ldlinux.asm +++ b/ldlinux.asm @@ -1065,8 +1065,10 @@ search_dos_dir: ; Assumes CS == DS. ; close_file: + and si,si + jz .closed mov dword [si],0 ; First dword == file_left - ret +.closed: ret ; ; searchdir: |