/kernel/branches/kolibri_pe/fs/fs_lfn.inc |
---|
104,6 → 104,9 |
; 8 : delete file |
; 9 : create directory |
cmp dword [eax], 7 |
je .do_exec |
; parse file name |
xchg ebx, eax |
lea esi, [ebx+20] |
129,14 → 132,6 |
jz .rootdir |
call process_replace_file_name |
.parse_normal: |
cmp dword [ebx], 7 |
jne @F |
mov edx, [ebx+4] |
mov ebx, [ebx+8] |
call fs_execute ; esi+ebp, ebx, edx |
mov [image_of_eax], eax |
ret |
@@: |
mov edi, rootdirs-8 |
xor ecx, ecx |
push esi |
425,6 → 420,23 |
; esi points to ASCIIZ string - rest of name |
jmp dword [edi] |
.do_exec: |
lea ebx, [eax+20] |
cmp byte [ebx],0 |
jnz @F |
mov ebx, [ebx+1] |
@@: |
push dword [eax+4] |
push dword [eax+8] |
push ebx |
call _sys_exec |
mov [image_of_eax], eax |
add esp, 12 |
ret |
; handlers for devices |
; in: ecx = 0 => query virtual directory /xxx |
; in: ecx = partition number |
/kernel/branches/kolibri_pe/fs/ntfs.inc |
---|
140,8 → 140,8 |
mov edx, PG_SW |
call @mem_alloc@8 |
test eax, eax |
jz problem_fat_dec_count |
mov [ntfs_data.frs_buffer], eax |
jz problem_fat_dec_count |
add eax, [ntfs_data.frs_size] |
mov [ntfs_data.iab_buffer], eax |
; read $MFT disposition |
229,8 → 229,8 |
mov edx, PG_SW |
call @mem_alloc@8 |
test eax, eax |
jz .fail_free_mft |
mov [ntfs_data.cur_index_buf], eax |
jz .fail_free_mft |
popad |
call free_hd_channel |