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 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=&<EFBFBD>¥¤ ªâ®à,/sys/TinyPad AsmMenu1=&‚­¥è­¨© । ªâ®à,/sys/TinyPad
AsmMenu2=&Š®¬¯¨«¨à®¢ âì,/sys/develop/fasm AsmMenu2=&Š®¬¯¨«¨à®¢ âì,/sys/develop/fasm
GifMenu1=&<26>à®á¬®âà,/sys/media/GIFVIEW MenuKiv=&<26>à®á¬®âà,/sys/media/kiv
BmpMenu1=&<26>à®á¬®âà,/sys/media/kiv
MenuAnimage=&<26>¥¤ ªâ®à,/sys/media/animage MenuAnimage=&<26>¥¤ ªâ®à,/sys/media/animage
[Panels] [Panels]
# <20>¥¦¨¬ë ®â®¡à ¦¥­¨ï ä ©«®¢ ­  ¯ ­¥«ïå ; <20>¥¦¨¬ë ®â®¡à ¦¥­¨ï ä ©«®¢ ­  ¯ ­¥«ïå
# §­ ç¥­¨ï ᮮ⢥âáâ¢ãîâ æ¨äà ¬ ¤«ï LCtrl+<1-4> ; §­ ç¥­¨ï ᮮ⢥âáâ¢ãîâ æ¨äà ¬ ¤«ï LCtrl+<1-4>
LeftViewMode=2 LeftViewMode=2
RightViewMode=2 RightViewMode=2
# <20>¥¦¨¬ë á®àâ¨à®¢ª¨ ä ©«®¢ ­  ¯ ­¥«ïå ; <20>¥¦¨¬ë á®àâ¨à®¢ª¨ ä ©«®¢ ­  ¯ ­¥«ïå
# §­ ç¥­¨ï ¨¬¥îâ ¢¨¤ 2 * N + M, £¤¥ ; §­ ç¥­¨ï ¨¬¥îâ ¢¨¤ 2 * N + M, £¤¥
# M = 0 - ¯àﬠï á®àâ¨à®¢ª , M = 1 - ®¡à â­ ï ; M = 0 - ¯àﬠï á®àâ¨à®¢ª , M = 1 - ®¡à â­ ï
# N = 0-6 ᮮ⢥âáâ¢ã¥â ०¨¬ã á®àâ¨à®¢ª¨ ¤«ï Ctrl+F<3-9> ; N = 0-6 ᮮ⢥âáâ¢ã¥â ०¨¬ã á®àâ¨à®¢ª¨ ¤«ï Ctrl+F<3-9>
LeftSortMode=0 LeftSortMode=0
RightSortMode=0 RightSortMode=0
[Editor] [Editor]
# ‘¨¬¢®«ë ª®­æ  áâப¨, ª®â®àë¥ ¡ã¤¥â ¢áâ ¢«ïâì ; ‘¨¬¢®«ë ª®­æ  áâப¨, ª®â®àë¥ ¡ã¤¥â ¢áâ ¢«ïâì
# । ªâ®à kfar ¯à¨ ¤®¡ ¢«¥­¨¨ ­®¢®© áâப¨: ; । ªâ®à kfar ¯à¨ ¤®¡ ¢«¥­¨¨ ­®¢®© áâப¨:
# DOS - ­ ¯®¤®¡¨¥ DOS/Win (0D 0A), Unix - ­ ¯®¤®¡¨¥ Unix (0A), ; DOS - ­ ¯®¤®¡¨¥ DOS/Win (0D 0A), Unix - ­ ¯®¤®¡¨¥ Unix (0A),
# Mac - ­ ¯®¤®¡¨¥ Mac (0D) ; Mac - ­ ¯®¤®¡¨¥ Mac (0D)
EOLStyle=Unix EOLStyle=Unix
[FolderShortcuts] [FolderShortcuts]
# Œ®¦­® ®¯à¥¤¥«¨âì ¤® ¤¥áï⨠ááë«®ª ­  ¯ ¯ª¨ Shortcut0...Shortcut9, ; Œ®¦­® ®¯à¥¤¥«¨âì ¤® ¤¥áï⨠ááë«®ª ­  ¯ ¯ª¨ Shortcut0...Shortcut9,
# ­  â ª¨¥ ¯ ¯ª¨ ¬®¦­® ᤥ« âì ¡ëáâàë© ¯¥à¥å®¤ ¯® RCtrl+<æ¨äà > ; ­  â ª¨¥ ¯ ¯ª¨ ¬®¦­® ᤥ« âì ¡ëáâàë© ¯¥à¥å®¤ ¯® RCtrl+<æ¨äà >
Shortcut0=/rd/1 Shortcut0=/rd/1
[Confirmations] [Confirmations]
Delete=1 Delete=1
DeleteIncomplete=0 DeleteIncomplete=0
# ‘«¥¢  ®â §­ ª  à ¢¥­á⢠ ¬®¦­® áâ ¢¨âì «î¡®¥ ®á¬ëá«¥­­®¥ ¨«¨ ¡¥áá¬ëá«¥­­®¥ ; ‘«¥¢  ®â §­ ª  à ¢¥­á⢠ ¬®¦­® áâ ¢¨âì «î¡®¥ ®á¬ëá«¥­­®¥ ¨«¨ ¡¥áá¬ëá«¥­­®¥
# ¨¬ï; á¯à ¢  - ¯ãâì ª ¯« £¨­ã. ; ¨¬ï; á¯à ¢  - ¯ãâì ª ¯« £¨­ã.
# …᫨ ¯ãâì ­¥  ¡á®«î⥭, â® ®­ ®âáç¨â뢠¥âáï ®â ¯ ¯ª¨ á ¡¨­ à­¨ª®¬ kfar. ; …᫨ ¯ãâì ­¥  ¡á®«î⥭, â® ®­ ®âáç¨â뢠¥âáï ®â ¯ ¯ª¨ á ¡¨­ à­¨ª®¬ kfar.
[Plugins] [Plugins]
ArchiveReader=kfar_arc.obj ArchiveReader=kfar_arc.obj

View File

@ -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