KFar_Arc 0.17: fixed incorrect handling of some archives

git-svn-id: svn://kolibrios.org@1148 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Evgeny Grechnikov (Diamond)
2009-09-03 18:46:38 +00:00
parent 65ba162394
commit cadcbb20ef
2 changed files with 30 additions and 25 deletions

View File

@@ -5,11 +5,12 @@ ini=/sys/TinyPad
txt=/sys/TinyPad
jpg=/sys/media/kiv
jpeg=/sys/media/kiv
gif=/sys/media/GIFVIEW; GifMenu1,MenuAnimage
gif=/sys/media/kiv; MenuKiv,MenuAnimage
ico=/sys/media/kiv
wav=/sys/media/AC97SND
mp3=/sys/media/AC97SND
mid=/sys/media/MIDAMP
bmp=/sys/media/kiv; BmpMenu1,MenuAnimage
bmp=/sys/media/kiv; MenuKiv,MenuAnimage
png=/sys/media/kiv
rtf=/sys/RtfRead
3ds=/sys/3d/view3ds
@@ -26,42 +27,41 @@ htm=/sys/HTMLv
html=/sys/HTMLv
[Menu]
AsmMenu1=&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,/sys/TinyPad
AsmMenu1=&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,/sys/TinyPad
AsmMenu2=&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD>,/sys/develop/fasm
GifMenu1=&<26><><EFBFBD><EFBFBD><E1ACAE>,/sys/media/GIFVIEW
BmpMenu1=&<26><><EFBFBD><EFBFBD><E1ACAE>,/sys/media/kiv
MenuKiv=&<26><><EFBFBD><EFBFBD><E1ACAE>,/sys/media/kiv
MenuAnimage=&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,/sys/media/animage
[Panels]
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD><EFBFBD><><E4A0A9><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# <20><><EFBFBD><EFBFBD><E7A5AD> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD> LCtrl+<1-4>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD><EFBFBD><><E4A0A9><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><E7A5AD> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD> LCtrl+<1-4>
LeftViewMode=2
RightViewMode=2
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><><E4A0A9><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# <20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> 2 * N + M, <20><><EFBFBD>
# M = 0 - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2>, M = 1 - <20><><EFBFBD><EFBFBD><EFBFBD>
# N = 0-6 ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <><E0A5A6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><><EFBFBD> Ctrl+F<3-9>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><><E4A0A9><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> 2 * N + M, <20><><EFBFBD>
; M = 0 - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2>, M = 1 - <20><><EFBFBD><EFBFBD><EFBFBD>
; N = 0-6 ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <><E0A5A6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><><EFBFBD> Ctrl+F<3-9>
LeftSortMode=0
RightSortMode=0
[Editor]
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><E2A0A2><EFBFBD><EFBFBD>
#<><E0A5A4><EFBFBD><EFBFBD><EFBFBD> kfar <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>:
# DOS - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DOS/Win (0D 0A), Unix - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Unix (0A),
# Mac - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Mac (0D)
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><E2A0A2><EFBFBD><EFBFBD>
;<><E0A5A4><EFBFBD><EFBFBD><EFBFBD> kfar <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>:
; DOS - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DOS/Win (0D 0A), Unix - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Unix (0A),
; Mac - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Mac (0D)
EOLStyle=Unix
[FolderShortcuts]
# <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> Shortcut0...Shortcut9,
# <20><><><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><><E1A4A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><> RCtrl+<<3C><><EFBFBD><EFBFBD><EFBFBD>>
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> Shortcut0...Shortcut9,
; <20><><><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><><E1A4A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><> RCtrl+<<3C><><EFBFBD><EFBFBD><EFBFBD>>
Shortcut0=/rd/1
[Confirmations]
Delete=1
DeleteIncomplete=0
# <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><><E0A0A2><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2A0A2><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1ABA5><EFBFBD><EFBFBD>
# <20><><EFBFBD>; <20><><EFBFBD> - <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
# <20><20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>⥭, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><E0ADA8><EFBFBD> kfar.
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><><E0A0A2><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2A0A2><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1ABA5><EFBFBD><EFBFBD>
; <20><><EFBFBD>; <20><><EFBFBD> - <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
; <20><20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>⥭, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><E0ADA8><EFBFBD> kfar.
[Plugins]
ArchiveReader=kfar_arc.obj

View File

@@ -2,14 +2,14 @@
; project name: KFar_Arc - plugin for KFar, which supports various archives
; target platform: KolibriOS
; compiler: FASM 1.67.14
; version: 0.16
; last update: 2009-07-03 (Jul 03, 2009)
; version: 0.17
; last update: 2009-09-03 (Sep 03, 2009)
; minimal KFar version: 0.43
; minimal kernel: no limit
;
; author: Diamond
; email: diamondz@land.ru
; web: http://diamondz.land.ru
; web: http://diamond.kolibrios.org
;
; standard start of Kolibri dynamic library
@@ -871,6 +871,13 @@ endg
; !!! in this case .fullname is not null-terminated !!!
mov ecx, [edx+file_common.fullname]
mov [eax+file_common.fullname], ecx
push edi eax
lea edi, [eax+file_common.parent]
xor eax, eax
push 7
pop ecx
rep stosd
pop eax edi
pop ecx
pop esi
; ecx = parent item, eax = current item
@@ -878,7 +885,6 @@ endg
inc dword [ecx+16] ; new item in parent folder
push ecx
; add new item to end of L2-list
and [eax+file_common.next], 0
cmp [eax+file_common.bIsDirectory], 0
jnz @f
add ecx, 8
@@ -901,7 +907,6 @@ endg
@@:
pop ecx
; set parent link
and [eax+file_common.parent], 0
cmp ecx, edi
jz @f
sub ecx, file_common.subfolders