forked from KolibriOS/kolibrios
'info3ds' load library in sub folder '../../lib/'
git-svn-id: svn://kolibrios.org@6245 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -117,6 +117,8 @@ local lp1
|
||||
local lp2
|
||||
local lp3
|
||||
local lp4
|
||||
local lp5
|
||||
local lp6
|
||||
local file_name
|
||||
|
||||
library_fun_memory_alloc equ 0 ;¥ ¨á¯®«ì§®¢ âì ¢ ¬ ªà®á å ¯à®¢¥àªã äãªæ¨¨ 'lib_init'
|
||||
@@ -168,6 +170,21 @@ align 4
|
||||
test esi,esi
|
||||
jz .str_lp4
|
||||
|
||||
;¯à®¢¥àª ®â®á¨â¥«ìëå ¯ã⥩ c ¤¢ã¬ï â®çª ¬¨ '../'
|
||||
cmp word[esi],'..'
|
||||
jne .lp3
|
||||
dec edi ;¤«ï ¯¥à¥å®¤ '/'
|
||||
.lp6:
|
||||
add esi,3 ;¯à®¯ã᪠¥¬ ®¤® ¯®¤ï⨥ '../'
|
||||
.lp5:
|
||||
dec edi ;¨¤¥¬ ¯® ¯ ¯ª ¬
|
||||
cmp byte[edi],'/'
|
||||
jnz .lp5
|
||||
cmp word[esi],'..'
|
||||
je .lp6
|
||||
inc edi ;¤«ï ¯¥à¥å®¤ '/'
|
||||
|
||||
;ª®¯¨à®¢ ¨¥ ®â®á¨â¥«ì®£® ¯ãâ¨
|
||||
align 4
|
||||
.lp3:
|
||||
lodsb
|
||||
@@ -183,7 +200,7 @@ align 4
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz .lp4
|
||||
;---------------------------------------------------------------------
|
||||
;---------------------------------------------------------------------
|
||||
ret
|
||||
}
|
||||
|
||||
@@ -439,15 +456,16 @@ exit_lp2:
|
||||
|
||||
macro copy_path lib_name,dir_path,lib_path,point_dir_name
|
||||
{
|
||||
pushad ;save all registers
|
||||
push dword lib_name
|
||||
push dword dir_path
|
||||
push dword lib_path
|
||||
push dword point_dir_name
|
||||
call @copy_path
|
||||
pushad ;save all registers
|
||||
push dword lib_name
|
||||
push dword dir_path
|
||||
push dword lib_path
|
||||
push dword point_dir_name
|
||||
call @copy_path
|
||||
|
||||
add esp,16
|
||||
popad ;restore all registers
|
||||
add esp,16
|
||||
;notify_window_run lib_path ;unblok for test load path
|
||||
popad ;restore all registers
|
||||
}
|
||||
|
||||
; £®â®¢¨¬ ⥪áâ ¤«ï ¯®ª § ç¥à¥§ @notify:
|
||||
|
||||
Reference in New Issue
Block a user