forked from KolibriOS/kolibrios
ISO9660 bugfixes
git-svn-id: svn://kolibrios.org@364 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
0f0c0aabfa
commit
b000e7656d
@ -190,6 +190,7 @@ proc fs_execute
|
||||
mov [save_cr3], ebx
|
||||
|
||||
stdcall create_app_space,[hdr_mem],[file_base],[file_size]
|
||||
mov ecx, -30 ; no memory
|
||||
test eax, eax
|
||||
jz .failed
|
||||
|
||||
|
@ -65,7 +65,9 @@ free_cd_channel:
|
||||
mov [IDE_Channel_2],0
|
||||
ret
|
||||
|
||||
uglobal
|
||||
cd_status dd 0
|
||||
endg
|
||||
|
||||
;----------------------------------------------------------------
|
||||
;
|
||||
@ -253,15 +255,18 @@ fs_CdReadFolder:
|
||||
call .get_names_from_buffer
|
||||
sub eax,2048
|
||||
; äèðåêòîðèÿ çàêîí÷èëàñü?
|
||||
cmp eax,0
|
||||
ja .read_to_buffer
|
||||
mov edi, [cd_counter_block]
|
||||
mov [edx+8], edi
|
||||
mov edi, [ebx]
|
||||
sub [edx+4], edi
|
||||
xor eax, eax
|
||||
dec ecx
|
||||
js @f
|
||||
mov al, ERROR_END_OF_FILE
|
||||
@@:
|
||||
pop ecx edi
|
||||
mov ebx, [edx+4]
|
||||
mov eax,ERROR_SUCCESS
|
||||
ret
|
||||
|
||||
.get_names_from_buffer:
|
||||
@ -658,11 +663,9 @@ cd_find_lfn:
|
||||
cmp byte [esi-1], 0
|
||||
jz .done
|
||||
mov eax,[cd_current_pointer_of_input]
|
||||
add eax,2
|
||||
mov eax,[eax]
|
||||
mov [CDSectorAddress],eax ; начало директории
|
||||
add eax,8
|
||||
mov eax,[eax] ; размер директории
|
||||
push dword [eax+2]
|
||||
pop dword [CDSectorAddress] ; íà÷àëî äèðåêòîðèè
|
||||
mov eax,[eax+2+8] ; ðàçìåð äèðåêòîðèè
|
||||
jmp .mainloop
|
||||
; óêàçàòåëü ôàéëà íàéäåí
|
||||
.done:
|
||||
|
Loading…
Reference in New Issue
Block a user