forked from KolibriOS/kolibrios
kfar_arc: bugfix in unpacking of 7z archives
git-svn-id: svn://kolibrios.org@920 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
1af612e4d2
commit
09b06cee2f
@ -2,8 +2,8 @@
|
||||
; project name: KFar_Arc - plugin for KFar, which supports various archives
|
||||
; target platform: KolibriOS
|
||||
; compiler: FASM 1.67.14
|
||||
; version: 0.13
|
||||
; last update: 2008-11-02 (Nov 02, 2008)
|
||||
; version: 0.14
|
||||
; last update: 2008-11-15 (Nov 15, 2008)
|
||||
; minimal KFar version: 0.41
|
||||
; minimal kernel: no limit
|
||||
;
|
||||
|
@ -274,7 +274,7 @@ end virtual
|
||||
.repmovsbr:
|
||||
mov eax, [ebp+.rep0]
|
||||
cmp eax, [ebp+.dictSize]
|
||||
jae return.err
|
||||
ja return.err
|
||||
mov esi, edi
|
||||
sub esi, eax
|
||||
mov eax, [ebp+streamInfo.bufPtr]
|
||||
@ -282,6 +282,7 @@ end virtual
|
||||
ja .repmovsb0
|
||||
mov eax, [ebp+.outEnd]
|
||||
sub eax, edi
|
||||
jz .done1
|
||||
push ecx
|
||||
cmp ecx, eax
|
||||
jb @f
|
||||
@ -291,6 +292,7 @@ end virtual
|
||||
rep movsb
|
||||
pop ecx
|
||||
jz .repmovsb1
|
||||
.done1:
|
||||
pop [ebp+.inPtr]
|
||||
mov [ebp+.state], ebx
|
||||
mov [ebp+.ecx], ecx
|
||||
@ -299,8 +301,8 @@ end virtual
|
||||
ret
|
||||
.repmovsb0:
|
||||
mov edx, [ebp+.dictSize]
|
||||
cmp edx, [ebp+streamInfo.bufSize]
|
||||
jnz return.err
|
||||
; cmp edx, [ebp+streamInfo.bufSize]
|
||||
; jnz return.err
|
||||
add esi, edx
|
||||
push ecx
|
||||
cmp ecx, eax
|
||||
@ -309,6 +311,7 @@ end virtual
|
||||
@@:
|
||||
mov eax, [ebp+.outEnd]
|
||||
sub eax, edi
|
||||
jz .done2
|
||||
cmp ecx, eax
|
||||
jb @f
|
||||
mov ecx, eax
|
||||
@ -322,6 +325,9 @@ end virtual
|
||||
mov al, [edi-1]
|
||||
mov [ebp+.previousByte], al
|
||||
jmp .main_loop
|
||||
.done2:
|
||||
pop ecx
|
||||
jmp .done1
|
||||
.main_loop_done:
|
||||
mov [ebp+.state], ebx
|
||||
mov [ebp+.continue], .main_loop
|
||||
|
Loading…
Reference in New Issue
Block a user