Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 520 → Rev 521

/kernel/trunk/core/conf_lib.inc
10,7 → 10,7
conf_file_loaded: db 0 ; ä« £ § £à㧪¨ ª®­ä¨£ 
conf_path_sect: db 'path',0
 
conf_fname db '%sys%/sys.conf',0
conf_fname db '/%sys%/sys.conf',0
 
 
 
/kernel/trunk/core/dll.inc
526,10 → 526,12
lea edi, [eax+ebx] ;cleanup remain space
mov ecx, 4096 ;from file end
and ebx, 4095
jz @f
sub ecx, ebx
xor eax, eax
cld
rep stosb
@@:
mov ebx, [file_size]
pop eax
ret
696,16 → 698,16
 
exports dd ? ;fake exports table
dd ?
file_name rb 14+16+4+1 ; '/rd/1/drivers/<up-to-16-chars>.obj'
file_name rb 15+16+4+1 ; '/%sys%/drivers/<up-to-16-chars>.obj'
endl
 
lea edx, [file_name]
mov dword [edx], '%sys'
mov dword [edx+4], '%/dr'
mov dword [edx+8], 'iver'
mov word [edx+12], 's/'
mov dword [edx], '/%sy'
mov dword [edx+4], 's%/d'
mov dword [edx+8], 'rive'
mov dword [edx+12], 'rs/'
mov esi, [driver_name]
lea edi, [edx+14]
lea edi, [edx+15]
mov ecx, 16
@@:
lodsb
/kernel/trunk/core/ext_lib.inc
15,7 → 15,6
common
dd 0
forward
align 4
__#name#_library_name__ db fname,0
}
 
29,18 → 28,17
common
dd 0
forward
align 4
__#name#_import_name__ db sname,0
}
 
macro export [name,sname]
{
align 4
forward
dd __#name#_export_name__,name
common
dd 0
forward
align 4
__#name#_export_name__ db sname,0
}
 
159,7 → 157,9
 
mov edi,s_libname
 
mov esi,sys_path
mov al, '/'
stosb
mov esi,sysdir_path
@@: lodsb
stosb
or al,al
306,4 → 306,6
ret
endp
 
uglobal
s_libname db 64 dup (0)
endg
/kernel/trunk/core/sys32.inc
646,10 → 646,15
 
mov ebx, [.slot]
shl ebx, 8
push ebx
mov ebx,[SLOT_BASE+ebx+APPDATA.pl0_stack]
 
stdcall kernel_free, ebx
 
pop ebx
mov ebx,[SLOT_BASE+ebx+APPDATA.cur_dir]
stdcall kernel_free, ebx
 
mov edi, [.slot]
shl edi,8
add edi,SLOT_BASE
/kernel/trunk/core/syscall.inc
169,7 → 169,7
dd undefined_syscall ; 27-reserved
dd sys_sb16II ; 28-SetSb16
dd sys_date ; 29-GetDate
dd undefined_syscall ; 30-reserved
dd sys_current_directory ; 30-Get/SetCurrentDirectory
dd undefined_syscall ; 31-reserved
dd syscall_delramdiskfile ; 32-DelRamdiskFile
dd syscall_writeramdiskfile; 33-WriteRamdiskFile
/kernel/trunk/core/taskman.inc
44,6 → 44,10
rep stosd
}
 
fs_execute_from_sysdir:
xor ebx, ebx
xor edx, edx
mov esi, sysdir_path
 
align 4
proc fs_execute
80,10 → 84,34
 
; [ebp] pointer to filename
 
lea eax, [filename]
mov dword [eax+1020],0 ;force terminate
;string
stdcall strncpy, eax, [ebp], 1023
lea edi, [filename]
lea ecx, [edi+1024]
mov al, '/'
stosb
@@:
cmp edi, ecx
jae .bigfilename
lodsb
stosb
test al, al
jnz @b
mov esi, [ebp]
test esi, esi
jz .namecopied
mov byte [edi-1], '/'
@@:
cmp edi, ecx
jae .bigfilename
lodsb
stosb
test al, al
jnz @b
jmp .namecopied
.bigfilename:
popad
mov eax, -ERROR_FILE_NOT_FOUND
ret
.namecopied:
 
mov [cmdline], ebx
test ebx, ebx
688,7 → 716,7
 
mov [slot], eax
mov [buff], ebx
mov [r_count], ecx
and [r_count], 0
mov [tmp_r_cnt], ecx
mov [offset], edx
 
724,6 → 752,7
mov edi, [buff]
mov edx, ecx
rep movsb
add [r_count], edx
 
add [offset], edx
sub [tmp_r_cnt], edx
754,7 → 783,7
 
mov [slot], eax
mov [buff], ebx
mov [w_count], ecx
and [w_count], 0
mov [tmp_w_cnt], ecx
mov [offset], edx
 
791,6 → 820,7
mov edx, ecx
rep movsb
 
add [w_count], edx
add [offset], edx
sub [tmp_w_cnt], edx
jnz .read_mem
964,6 → 994,16
mov eax, [pl0_stack]
mov [SLOT_BASE+APPDATA.pl0_stack+ebx],eax
 
push ebx
stdcall kernel_alloc, 0x1000
pop ebx
mov esi,[current_slot]
mov esi,[esi+APPDATA.cur_dir]
mov ecx,0x1000/4
mov edi,eax
mov [ebx+SLOT_BASE+APPDATA.cur_dir],eax
rep movsd
 
shr ebx,3
mov eax, new_app_base
mov dword [CURRENT_TASK+ebx+0x10],eax