From 8222dd469ce060b8575cd42fc0357020d5411d07 Mon Sep 17 00:00:00 2001 From: CleverMouse Date: Thu, 7 Jul 2011 14:10:49 +0000 Subject: [PATCH] launcher: quoted parameters; allow tabs in place of spaces git-svn-id: svn://kolibrios.org@1999 a494cfbc-eb01-0410-851d-a64ba20cac60 --- data/Vortex86MX-eng/autorun.dat | 16 ++++++++-------- data/eng/autorun.dat | 16 ++++++++-------- data/rus/autorun.dat | 16 ++++++++-------- programs/system/launcher/trunk/launcher.asm | 20 +++++++++++++++++--- 4 files changed, 41 insertions(+), 27 deletions(-) diff --git a/data/Vortex86MX-eng/autorun.dat b/data/Vortex86MX-eng/autorun.dat index 8577ef425c..40538cb437 100644 --- a/data/Vortex86MX-eng/autorun.dat +++ b/data/Vortex86MX-eng/autorun.dat @@ -1,16 +1,16 @@ # Syntaxis is: -# Use in parameter value if program is started without parameters. +# Use "parameter value" for parameters with spaces. Use "" if no parameter is required. # Delay time means how much the system should wait, before running the next line. It is measured in 1/100 seconds. # If delay is negative, wait for termination of the spawned process. Otherwise, simply wait # -#/RD/1/COMMOUSE 1 # COM mice detector +#/RD/1/COMMOUSE "" 1 # COM mice detector /RD/1/MEDIA/KIV \T__background.gif -1 # Desktop background image -/RD/1/@CLIP 1 # Clipboard -/RD/1/@RB 1 # Desktop right-click menu -/RD/1/@SS 1 # Screensaver -/RD/1/@PANEL 1 # Start panel -/RD/1/DEVELOP/BOARD 1 # Load DEBUG board +/RD/1/@CLIP "" 1 # Clipboard +/RD/1/@RB "" 1 # Desktop right-click menu +/RD/1/@SS "" 1 # Screensaver +/RD/1/@PANEL "" 1 # Start panel +/RD/1/DEVELOP/BOARD "" 1 # Load DEBUG board /RD/1/SETUP BOOT 1 # Load device settings /RD/1/ICON BOOT 1 # Multithread icon -/RD/1/NETWORK/ZEROCONF 1 # Network configuration +/RD/1/NETWORK/ZEROCONF "" 1 # Network configuration ### Hello, ASM World! ### diff --git a/data/eng/autorun.dat b/data/eng/autorun.dat index e3609d5c84..2a3f2b20e4 100644 --- a/data/eng/autorun.dat +++ b/data/eng/autorun.dat @@ -1,17 +1,17 @@ # Syntaxis is: -# Use in parameter value if program is started without parameters. +# Use "parameter value" for parameters with spaces. Use "" if no parameter is required. # Delay time means how much the system should wait, before running the next line. It is measured in 1/100 seconds. # If delay is negative, wait for termination of the spawned process. Otherwise, simply wait # -/RD/1/COMMOUSE 1 # COM mice detector +/RD/1/COMMOUSE "" 1 # COM mice detector /RD/1/DRIVERS/ATIKMS -l/rd/1/drivers/ati.log -1 #ATI videodriver loader /RD/1/MEDIA/KIV \T__background.gif -1 # Desktop background image -/RD/1/@CLIP 1 # Clipboard -/RD/1/@RB 1 # Desktop right-click menu -/RD/1/@SS 1 # Screensaver -/RD/1/@PANEL 1 # Start panel -#/RD/1/DEVELOP/BOARD 1 # Load DEBUG board +/RD/1/@CLIP "" 1 # Clipboard +/RD/1/@RB "" 1 # Desktop right-click menu +/RD/1/@SS "" 1 # Screensaver +/RD/1/@PANEL "" 1 # Start panel +#/RD/1/DEVELOP/BOARD "" 1 # Load DEBUG board /RD/1/SETUP BOOT 1 # Load device settings /RD/1/ICON BOOT 1 # Multithread icon -/RD/1/NETWORK/ZEROCONF 1 # Network configuration +/RD/1/NETWORK/ZEROCONF "" 1 # Network configuration ### Hello, ASM World! ### diff --git a/data/rus/autorun.dat b/data/rus/autorun.dat index e3609d5c84..2a3f2b20e4 100644 --- a/data/rus/autorun.dat +++ b/data/rus/autorun.dat @@ -1,17 +1,17 @@ # Syntaxis is: -# Use in parameter value if program is started without parameters. +# Use "parameter value" for parameters with spaces. Use "" if no parameter is required. # Delay time means how much the system should wait, before running the next line. It is measured in 1/100 seconds. # If delay is negative, wait for termination of the spawned process. Otherwise, simply wait # -/RD/1/COMMOUSE 1 # COM mice detector +/RD/1/COMMOUSE "" 1 # COM mice detector /RD/1/DRIVERS/ATIKMS -l/rd/1/drivers/ati.log -1 #ATI videodriver loader /RD/1/MEDIA/KIV \T__background.gif -1 # Desktop background image -/RD/1/@CLIP 1 # Clipboard -/RD/1/@RB 1 # Desktop right-click menu -/RD/1/@SS 1 # Screensaver -/RD/1/@PANEL 1 # Start panel -#/RD/1/DEVELOP/BOARD 1 # Load DEBUG board +/RD/1/@CLIP "" 1 # Clipboard +/RD/1/@RB "" 1 # Desktop right-click menu +/RD/1/@SS "" 1 # Screensaver +/RD/1/@PANEL "" 1 # Start panel +#/RD/1/DEVELOP/BOARD "" 1 # Load DEBUG board /RD/1/SETUP BOOT 1 # Load device settings /RD/1/ICON BOOT 1 # Multithread icon -/RD/1/NETWORK/ZEROCONF 1 # Network configuration +/RD/1/NETWORK/ZEROCONF "" 1 # Network configuration ### Hello, ASM World! ### diff --git a/programs/system/launcher/trunk/launcher.asm b/programs/system/launcher/trunk/launcher.asm index 7112c2b99e..6b05666cbd 100644 --- a/programs/system/launcher/trunk/launcher.asm +++ b/programs/system/launcher/trunk/launcher.asm @@ -115,18 +115,32 @@ START: ; start of execution ;dpd esi ;dps <13,10> add esi, file_data + cmp byte [esi], '"' + jz .quoted .start: cmp esi, [fileend] jae exit lodsb cmp al, ' ' - je .finish + jbe .finish stosb inc [position] jmp .start .finish: popad - ret + ret + .quoted: + inc esi + inc [position] + .quoted.start: + cmp esi, [fileend] + jae exit + lodsb + inc [position] + cmp al, '"' + je .finish + stosb + jmp .quoted.start get_number: @@ -176,7 +190,7 @@ START: ; start of execution jae .finish lodsb cmp al, ' ' - jne .finish + ja .finish inc [position] jmp .start .finish: