Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 3358 → Rev 3359

/kernel/branches/net/fs/ext2.inc
450,7 → 450,7
mov ebx, [ext2_data.ext2_temp_block]
call ext2_get_block
test eax, eax
jz @F ;если не было ошибки
jnz @F ;если не было ошибки
 
mov ecx, [ebx + ecx*4] ;заносим результат
@@:
895,15 → 895,13
jae .size_great_great
 
.size_great_less:
push 1
; or [EXT2_files_in_folder], 1 ;читаем по границе размера
push 1 ;читаем по границе размера
mov ecx, [ebp + EXT2_INODE_STRUC.i_size]
sub ecx, [esi] ;(размер - старт) = сколько читать
jmp @F
 
.size_great_great:
push 0
; and [EXT2_files_in_folder], 0 ;читаем столько сколько запросили
push 0 ;читаем столько сколько запросили
 
@@:
;здесь мы точно знаем сколько байт читать - ecx
919,7 → 917,7
mov eax, [esi]
div [ext2_data.block_size]
 
push eax ;номер блока запоминаем
push eax ;счетчик блоков ложим в стек
push ecx
mov ecx, eax
949,7 → 947,7
 
.zero_start:
mov eax, ecx
push 0 ;счетчик блоков
push 0 ;счетчик блоков ложим в стек
;теперь в eax кол-во оставшихся байт для чтения
.calc_blocks_count:
mov ebx, edi ;чтение блока прям в ->ebx
982,7 → 980,7
inc ecx
call ext2_get_inode_block
test eax, eax
jz .error_at_finish_block
jnz .error_at_finish_block
 
mov edi, ebx
mov eax, ecx
994,9 → 992,13
mov ecx, edx
mov esi, ebx
rep movsb ;кусок last блока
jmp @F
 
.end_read:
pop ebx
pop eax
pop ecx ;счетчик блоков, который хранился в стеке
@@:
pop ebx ;количество считанных байт
pop eax ; 1 или 0 - достигли ли конца файла
test eax, eax
jz @F
 
1009,7 → 1011,6
.only_one_block:
mov esi, ebx
rep movsb ;кусок last блока
pop eax
jmp .end_read
.error_at_first_block:
1132,11 → 1133,11
sub eax, [ext2_data.count_block_in_block]
jle .not_found
push eax
inc ecx
jmp .folder_block_cycle
 
.not_found:
pop ebx
mov eax, ERROR_FILE_NOT_FOUND
ret
 
/kernel/branches/net/fs/fs-sp.inc
0,0 → 1,13
dir0:
db 'DISCO DURO '
db 'UNIDAD RAM '
db 'DISQUETE '
db 0
 
dir1:
db 'PRIMERO '
db 'SEGUNDO '
db 'TERCERO '
db 'CUARTO '
db 0
 
/kernel/branches/net/fs/fs.inc
21,6 → 21,10
 
 
iglobal
 
if lang eq sp
include 'fs/fs-sp.inc'
else
dir0:
db 'HARDDISK '
db 'RAMDISK '
33,6 → 37,7
db 'THIRD '
db 'FOURTH '
db 0
end if
 
not_select_IDE db 0
 
/kernel/branches/net/fs/fs_lfn.inc
134,6 → 134,15
 
endg
 
file_system_lfn_protected:
pushad
call protect_from_terminate
call file_system_lfn
call unprotect_from_terminate
popad
mov [image_of_eax], eax
mov [image_of_ebx], ebx
ret
 
file_system_lfn:
; in: ebx->fileinfo block