diff --git a/programs/fs/kfar/trunk/kfar.asm b/programs/fs/kfar/trunk/kfar.asm index 74b9a521f..9e3b16d4d 100644 --- a/programs/fs/kfar/trunk/kfar.asm +++ b/programs/fs/kfar/trunk/kfar.asm @@ -7,8 +7,8 @@ memsize dd mem dd stacktop dd 0, app_path -version equ '0.41' -version_dword equ 0*10000h + 41 +version equ '0.42' +version_dword equ 0*10000h + 42 include 'lang.inc' include 'font.inc' @@ -1882,7 +1882,9 @@ panels_OnKey: ret @@: push eax + push edx call close_plugin_panels + pop edx lea edi, [ebp + panel1_dir - panel1_data] push edi mov esi, edi diff --git a/programs/fs/kfar/trunk/kfar_arc/kfar_arc.asm b/programs/fs/kfar/trunk/kfar_arc/kfar_arc.asm index a1bfd3ea9..f85dfd4af 100644 --- a/programs/fs/kfar/trunk/kfar_arc/kfar_arc.asm +++ b/programs/fs/kfar/trunk/kfar_arc/kfar_arc.asm @@ -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.11 -; last update: 2007-09-20 (Sep 20, 2007) +; version: 0.12 +; last update: 2007-10-06 (Oct 06, 2007) ; minimal KFar version: 0.41 ; minimal kernel: no limit ; @@ -392,6 +392,11 @@ GetFiles: @@: mov [edx+file_common.stamp], eax push esi + mov ecx, [edx+file_common.name] + add ecx, [edx+file_common.namelen] + xor eax, eax + xchg al, [ecx] + push eax ecx mov eax, edx mov edi, tmp_bdfe push edi @@ -400,8 +405,10 @@ GetFiles: push esi mov ecx, [ebp] call dword [getattrTable+(ecx-1)*4] - mov eax, [esp+16+20] + mov eax, [esp+24+20] call eax + pop ecx edx + mov [ecx], dl pop esi test al, al jz .forced_exit @@ -413,6 +420,11 @@ GetFiles: cmp [ebx+file_common.stamp], eax jz .cont mov [ebx+file_common.stamp], eax + mov ecx, [ebx+file_common.name] + add ecx, [ebx+file_common.namelen] + xor eax, eax + xchg al, [ecx] + push eax ecx push esi mov eax, ebx mov edi, tmp_bdfe @@ -420,8 +432,10 @@ GetFiles: push esi mov ecx, [ebp] call dword [getattrTable+(ecx-1)*4] - mov eax, [esp+16+20] + mov eax, [esp+24+20] call eax + pop ecx edx + mov [ecx], dl pop esi test al, al jz .forced_exit @@ -854,6 +868,9 @@ endg mov [eax+file_common.bPseudoFolder], 1 .newitem: mov [eax+file_common.namelen], ecx +; !!! in this case .fullname is not null-terminated !!! + mov ecx, [edx+file_common.fullname] + mov [eax+file_common.fullname], ecx pop ecx pop esi ; ecx = parent item, eax = current item