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:
@@ -5,11 +5,12 @@ ini=/sys/TinyPad
|
|||||||
txt=/sys/TinyPad
|
txt=/sys/TinyPad
|
||||||
jpg=/sys/media/kiv
|
jpg=/sys/media/kiv
|
||||||
jpeg=/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
|
wav=/sys/media/AC97SND
|
||||||
mp3=/sys/media/AC97SND
|
mp3=/sys/media/AC97SND
|
||||||
mid=/sys/media/MIDAMP
|
mid=/sys/media/MIDAMP
|
||||||
bmp=/sys/media/kiv; BmpMenu1,MenuAnimage
|
bmp=/sys/media/kiv; MenuKiv,MenuAnimage
|
||||||
png=/sys/media/kiv
|
png=/sys/media/kiv
|
||||||
rtf=/sys/RtfRead
|
rtf=/sys/RtfRead
|
||||||
3ds=/sys/3d/view3ds
|
3ds=/sys/3d/view3ds
|
||||||
@@ -26,42 +27,41 @@ htm=/sys/HTMLv
|
|||||||
html=/sys/HTMLv
|
html=/sys/HTMLv
|
||||||
|
|
||||||
[Menu]
|
[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
|
AsmMenu2=&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD>,/sys/develop/fasm
|
||||||
GifMenu1=&<26><><EFBFBD>ᬮ<EFBFBD><E1ACAE>,/sys/media/GIFVIEW
|
MenuKiv=&<26><><EFBFBD>ᬮ<EFBFBD><E1ACAE>,/sys/media/kiv
|
||||||
BmpMenu1=&<26><><EFBFBD>ᬮ<EFBFBD><E1ACAE>,/sys/media/kiv
|
|
||||||
MenuAnimage=&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,/sys/media/animage
|
MenuAnimage=&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,/sys/media/animage
|
||||||
|
|
||||||
[Panels]
|
[Panels]
|
||||||
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD><EFBFBD> 䠩<><E4A0A9><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
; <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><E7A5AD> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ࠬ <20><><EFBFBD> LCtrl+<1-4>
|
||||||
LeftViewMode=2
|
LeftViewMode=2
|
||||||
RightViewMode=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><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>
|
; <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>
|
; 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>
|
; 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
|
LeftSortMode=0
|
||||||
RightSortMode=0
|
RightSortMode=0
|
||||||
|
|
||||||
[Editor]
|
[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>
|
; <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>:
|
; ।<><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),
|
; 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)
|
; Mac - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Mac (0D)
|
||||||
EOLStyle=Unix
|
EOLStyle=Unix
|
||||||
|
|
||||||
[FolderShortcuts]
|
[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><><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><> ⠪<><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
|
Shortcut0=/rd/1
|
||||||
|
|
||||||
[Confirmations]
|
[Confirmations]
|
||||||
Delete=1
|
Delete=1
|
||||||
DeleteIncomplete=0
|
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><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><><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> <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]
|
[Plugins]
|
||||||
ArchiveReader=kfar_arc.obj
|
ArchiveReader=kfar_arc.obj
|
||||||
|
@@ -2,14 +2,14 @@
|
|||||||
; project name: KFar_Arc - plugin for KFar, which supports various archives
|
; project name: KFar_Arc - plugin for KFar, which supports various archives
|
||||||
; target platform: KolibriOS
|
; target platform: KolibriOS
|
||||||
; compiler: FASM 1.67.14
|
; compiler: FASM 1.67.14
|
||||||
; version: 0.16
|
; version: 0.17
|
||||||
; last update: 2009-07-03 (Jul 03, 2009)
|
; last update: 2009-09-03 (Sep 03, 2009)
|
||||||
; minimal KFar version: 0.43
|
; minimal KFar version: 0.43
|
||||||
; minimal kernel: no limit
|
; minimal kernel: no limit
|
||||||
;
|
;
|
||||||
; author: Diamond
|
; author: Diamond
|
||||||
; email: diamondz@land.ru
|
; email: diamondz@land.ru
|
||||||
; web: http://diamondz.land.ru
|
; web: http://diamond.kolibrios.org
|
||||||
;
|
;
|
||||||
|
|
||||||
; standard start of Kolibri dynamic library
|
; standard start of Kolibri dynamic library
|
||||||
@@ -871,6 +871,13 @@ endg
|
|||||||
; !!! in this case .fullname is not null-terminated !!!
|
; !!! in this case .fullname is not null-terminated !!!
|
||||||
mov ecx, [edx+file_common.fullname]
|
mov ecx, [edx+file_common.fullname]
|
||||||
mov [eax+file_common.fullname], ecx
|
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 ecx
|
||||||
pop esi
|
pop esi
|
||||||
; ecx = parent item, eax = current item
|
; ecx = parent item, eax = current item
|
||||||
@@ -878,7 +885,6 @@ endg
|
|||||||
inc dword [ecx+16] ; new item in parent folder
|
inc dword [ecx+16] ; new item in parent folder
|
||||||
push ecx
|
push ecx
|
||||||
; add new item to end of L2-list
|
; add new item to end of L2-list
|
||||||
and [eax+file_common.next], 0
|
|
||||||
cmp [eax+file_common.bIsDirectory], 0
|
cmp [eax+file_common.bIsDirectory], 0
|
||||||
jnz @f
|
jnz @f
|
||||||
add ecx, 8
|
add ecx, 8
|
||||||
@@ -901,7 +907,6 @@ endg
|
|||||||
@@:
|
@@:
|
||||||
pop ecx
|
pop ecx
|
||||||
; set parent link
|
; set parent link
|
||||||
and [eax+file_common.parent], 0
|
|
||||||
cmp ecx, edi
|
cmp ecx, edi
|
||||||
jz @f
|
jz @f
|
||||||
sub ecx, file_common.subfolders
|
sub ecx, file_common.subfolders
|
||||||
|
Reference in New Issue
Block a user