zSea: fixed long command line handling

git-svn-id: svn://kolibrios.org@6435 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Sergey Semyonov (Serge) 2016-05-26 10:14:29 +00:00
parent e5f26674e7
commit 7c0ebfd724
2 changed files with 20 additions and 20 deletions

View File

@ -55,8 +55,8 @@ plugin_9_name:
file_name: file_name:
rb 1024 rb 1024
;---------------------- ;----------------------
temp_area: dest_cmdline:
rb 64*1024 ; new max cmdline 64 Kb rb 256
;---------------------- ;----------------------
procinfo: procinfo:
process_info: process_info:
@ -99,4 +99,4 @@ procinfo_threads:
;---------------------- ;----------------------
rb 4096 rb 4096
stacktop: stacktop:
;---------------------- ;----------------------

View File

@ -36,7 +36,7 @@
dd IM_END ; size of image dd IM_END ; size of image
dd I_END ; memory for app dd I_END ; memory for app
dd stacktop ; esp dd stacktop ; esp
dd ext_dest_cmdline ; I_Param dd dest_cmdline ; I_Param
dd path ; APPLICATION PACH dd path ; APPLICATION PACH
include 'lang.inc' include 'lang.inc'
@ -51,9 +51,6 @@ include '../../proc32.inc'
include '../../develop/libraries/box_lib/load_lib.mac' include '../../develop/libraries/box_lib/load_lib.mac'
@use_library ;use load lib macros @use_library ;use load lib macros
;****************************************************************************** ;******************************************************************************
ext_dest_cmdline:
dd 0xffffffff
dd temp_area
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
START: ; start of execution START: ; start of execution
mcall 68, 11 mcall 68, 11
@ -74,7 +71,7 @@ START: ; start of execution
mcall 48,4 mcall 48,4
mov [skin_height],eax mov [skin_height],eax
mcall 68,12,1024 mcall 68,12,1024
mov [menu_data_1.procinfo],eax mov [menu_data_1.procinfo],eax
mov [menu_data_2.procinfo],eax mov [menu_data_2.procinfo],eax
@ -105,12 +102,13 @@ START: ; start of execution
;init_ColorDialog ColorDialog_data ;init_ColorDialog ColorDialog_data
push dword ColorDialog_data push dword ColorDialog_data
call [ColorDialog_Init] call [ColorDialog_Init]
call get_filter_data call get_filter_data
;----------------------------------------------------- ;-----------------------------------------------------
; check for parameters ; check for parameters
cmp dword [temp_area],'BOOT' mov esi, [28]
cmp dword [esi],'BOOT'
jne .no_boot jne .no_boot
.background: .background:
call load_image call load_image
@ -135,12 +133,12 @@ START: ; start of execution
@@: @@:
dec esi dec esi
jnz .kill_successors jnz .kill_successors
mcall -1 mcall -1
;----------------------------------------------------- ;-----------------------------------------------------
.no_boot: .no_boot:
xor eax,eax xor eax,eax
cmp byte [temp_area],al cmp [esi],al
jnz @f jnz @f
mov [file_name],eax mov [file_name],eax
jmp .no_param jmp .no_param
@ -153,7 +151,7 @@ START: ; start of execution
rep stosd rep stosd
mov edi,temp_area ; look for <0> in temp_area mov edi, [28] ; look for <0> in temp_area
cmp [edi],byte "\" cmp [edi],byte "\"
jne .continue jne .continue
@ -171,11 +169,13 @@ START: ; start of execution
mov esi,edi mov esi,edi
mov ecx,4095 ;257 ; strlen mov ecx,4095 ;257 ; strlen
repne scasb repne scasb
lea ecx, [edi-temp_area] mov ecx, edi
sub ecx, [28]
mov edi,string mov edi,string
rep movsb ; copy string from temp_area to "string" (filename) rep movsb ; copy string from temp_area to "string" (filename)
cmp [temp_area],byte "\" mov ecx, [28]
cmp [ecx],byte "\"
je START.background je START.background
call load_directory call load_directory
test eax,eax test eax,eax
@ -259,7 +259,7 @@ red_1:
; mov [scroll_bar_data_horizontal.position],eax ; mov [scroll_bar_data_horizontal.position],eax
call draw_window call draw_window
cmp [redraw_wallpaper_flag],0 cmp [redraw_wallpaper_flag],0
je still je still
mov [redraw_wallpaper_flag],0 mov [redraw_wallpaper_flag],0
@ -268,10 +268,10 @@ red_1:
; jmp red_1 ; jmp red_1
still: still:
call pause_cicle call pause_cicle
cmp [RAW1_flag],1 cmp [RAW1_flag],1
je animation_handler je animation_handler
mcall 48,4 mcall 48,4
cmp [skin_height],eax cmp [skin_height],eax
je @f je @f
@ -308,7 +308,7 @@ red_sort_directory:
redraw_window: redraw_window:
mov [redraw_flag],byte 0 mov [redraw_flag],byte 0
jmp red_1 jmp red_1
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
; red: ; red:
; test dword [status], 4 ; test dword [status], 4
@ -350,7 +350,7 @@ pause_cicle:
dec eax dec eax
jz .key jz .key
dec eax dec eax
jnz .start jnz .start
.button: .button:
mcall -1 mcall -1
.key: .key: