summaryrefslogtreecommitdiff
path: root/syslinux.asm
diff options
context:
space:
mode:
authorhpa <hpa>1998-04-14 06:25:45 +0000
committerhpa <hpa>1998-04-14 06:25:45 +0000
commit310d0ccb3a9f5592eccdd819b788de83b1f06a17 (patch)
treef6d32c62d5a8330426af063a8ec2509004dc58d0 /syslinux.asm
parentc221a9331023e151f0b38f593497b2b436235dbb (diff)
downloadsyslinux-310d0ccb3a9f5592eccdd819b788de83b1f06a17.tar.gz
Added the -s option to the installers, and made them do the right thing.
Diffstat (limited to 'syslinux.asm')
-rw-r--r--syslinux.asm22
1 files changed, 21 insertions, 1 deletions
diff --git a/syslinux.asm b/syslinux.asm
index 0b28774b..01e469c2 100644
--- a/syslinux.asm
+++ b/syslinux.asm
@@ -52,6 +52,8 @@ cmdscan1: jcxz bad_usage ; End of command line?
dec cx
cmp al,' ' ; White space
jbe cmdscan1
+ cmp al,'-'
+ je scan_option
or al,020h ; -> lower case
cmp al,'a' ; Check for letter
jb bad_usage
@@ -85,9 +87,27 @@ got_colon: jcxz got_cmdline
;
bad_usage: mov dx,msg_unfair
jmp die
+;
+; Scan for options after a - sign. The only recognized option right now
+; is -s.
+;
+scan_option: jcxz bad_usage
+ lodsb
+ dec cx
+ cmp al,' '
+ jbe cmdscan1
+ or al,20h
+ cmp al,'s'
+ jne bad_usage
+ push si ; make_stupid doesn't save these
+ push cx
+ call make_stupid ; Enable stupid boot sector
+ pop cx
+ pop si
+ jmp short scan_option
section .data
-msg_unfair: db 'Usage: syslinux <drive>:', 0Dh, 0Ah, '$'
+msg_unfair: db 'Usage: syslinux [-s] <drive>:', 0Dh, 0Ah, '$'
section .text
;