forked from KolibriOS/kolibrios
revert libio-related changes from r3130 and do the fix in the correct place
git-svn-id: svn://kolibrios.org@3131 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
55f8d8856f
commit
fdad5bfed3
@ -104,7 +104,7 @@ endl
|
|||||||
mov [f.buf], eax
|
mov [f.buf], eax
|
||||||
invoke file.open, [_f_name], O_READ
|
invoke file.open, [_f_name], O_READ
|
||||||
cmp eax, 32
|
cmp eax, 32
|
||||||
jb .exit_error
|
jb .exit_file_error
|
||||||
mov [f.fh], eax
|
mov [f.fh], eax
|
||||||
invoke mem.alloc, ini.MEM_SIZE
|
invoke mem.alloc, ini.MEM_SIZE
|
||||||
or eax, eax
|
or eax, eax
|
||||||
@ -162,6 +162,7 @@ endl
|
|||||||
.exit_error:
|
.exit_error:
|
||||||
invoke file.close, [f.fh]
|
invoke file.close, [f.fh]
|
||||||
invoke mem.free, [f.buf]
|
invoke mem.free, [f.buf]
|
||||||
|
.exit_file_error:
|
||||||
invoke mem.free, [sec_buf]
|
invoke mem.free, [sec_buf]
|
||||||
.exit_error.2:
|
.exit_error.2:
|
||||||
or eax, -1
|
or eax, -1
|
||||||
@ -209,7 +210,7 @@ endl
|
|||||||
mov [f.buf], eax
|
mov [f.buf], eax
|
||||||
invoke file.open, [_f_name], O_READ
|
invoke file.open, [_f_name], O_READ
|
||||||
cmp eax, 32
|
cmp eax, 32
|
||||||
jb .exit_error
|
jb .exit_file_error
|
||||||
mov [f.fh], eax
|
mov [f.fh], eax
|
||||||
invoke mem.alloc, ini.MEM_SIZE
|
invoke mem.alloc, ini.MEM_SIZE
|
||||||
or eax, eax
|
or eax, eax
|
||||||
@ -262,6 +263,7 @@ endl
|
|||||||
.exit_error:
|
.exit_error:
|
||||||
invoke file.close, [f.fh]
|
invoke file.close, [f.fh]
|
||||||
invoke mem.free, [f.buf]
|
invoke mem.free, [f.buf]
|
||||||
|
.exit_file_error:
|
||||||
invoke mem.free, [val_buf]
|
invoke mem.free, [val_buf]
|
||||||
.exit_error.2:
|
.exit_error.2:
|
||||||
invoke mem.free, [key_buf]
|
invoke mem.free, [key_buf]
|
||||||
@ -298,7 +300,7 @@ endl
|
|||||||
mov [f.buf], eax
|
mov [f.buf], eax
|
||||||
invoke file.open, [_f_name], O_READ
|
invoke file.open, [_f_name], O_READ
|
||||||
cmp eax, 32
|
cmp eax, 32
|
||||||
jb .exit_error
|
jb .exit_file_error
|
||||||
mov [f.fh], eax
|
mov [f.fh], eax
|
||||||
invoke mem.alloc, ini.MEM_SIZE
|
invoke mem.alloc, ini.MEM_SIZE
|
||||||
or eax, eax
|
or eax, eax
|
||||||
@ -324,6 +326,7 @@ endl
|
|||||||
.exit_error:
|
.exit_error:
|
||||||
invoke file.close, [f.fh]
|
invoke file.close, [f.fh]
|
||||||
invoke mem.free, [f.buf]
|
invoke mem.free, [f.buf]
|
||||||
|
.exit_file_error:
|
||||||
mov edi, [_buffer]
|
mov edi, [_buffer]
|
||||||
mov esi, [_def_val]
|
mov esi, [_def_val]
|
||||||
xor al, al
|
xor al, al
|
||||||
@ -364,7 +367,7 @@ endl
|
|||||||
mov [f.buf], eax
|
mov [f.buf], eax
|
||||||
invoke file.open, [_f_name], O_READ + O_WRITE + O_CREATE
|
invoke file.open, [_f_name], O_READ + O_WRITE + O_CREATE
|
||||||
cmp eax, 32
|
cmp eax, 32
|
||||||
jb .exit_error
|
jb .exit_file_error
|
||||||
mov [f.fh], eax
|
mov [f.fh], eax
|
||||||
invoke mem.alloc, ini.MEM_SIZE
|
invoke mem.alloc, ini.MEM_SIZE
|
||||||
or eax, eax
|
or eax, eax
|
||||||
@ -392,6 +395,7 @@ endl
|
|||||||
invoke file.seek, [f.fh], eax, SEEK_SET
|
invoke file.seek, [f.fh], eax, SEEK_SET
|
||||||
invoke file.write, [f.fh], [_buffer], [_buf_len]
|
invoke file.write, [f.fh], [_buffer], [_buf_len]
|
||||||
|
|
||||||
|
invoke file.close, [f.fh]
|
||||||
pop edi esi ebx
|
pop edi esi ebx
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
ret
|
ret
|
||||||
@ -437,6 +441,8 @@ endl
|
|||||||
jmp .create_key.ex
|
jmp .create_key.ex
|
||||||
|
|
||||||
.exit_error:
|
.exit_error:
|
||||||
|
invoke file.close, [f.fh]
|
||||||
|
.exit_file_error:
|
||||||
pop edi esi ebx
|
pop edi esi ebx
|
||||||
or eax, -1
|
or eax, -1
|
||||||
ret
|
ret
|
||||||
@ -466,7 +472,7 @@ endl
|
|||||||
mov [f.buf], eax
|
mov [f.buf], eax
|
||||||
invoke file.open, [_f_name], O_READ
|
invoke file.open, [_f_name], O_READ
|
||||||
cmp eax, 32
|
cmp eax, 32
|
||||||
jb .exit_error
|
jb .exit_file_error
|
||||||
mov [f.fh], eax
|
mov [f.fh], eax
|
||||||
invoke mem.alloc, ini.MEM_SIZE
|
invoke mem.alloc, ini.MEM_SIZE
|
||||||
or eax, eax
|
or eax, eax
|
||||||
@ -514,6 +520,7 @@ endl
|
|||||||
|
|
||||||
.exit_error:
|
.exit_error:
|
||||||
invoke file.close, [f.fh]
|
invoke file.close, [f.fh]
|
||||||
|
.exit_file_error:
|
||||||
invoke mem.free, [f.buf]
|
invoke mem.free, [f.buf]
|
||||||
mov eax, [_def_val]
|
mov eax, [_def_val]
|
||||||
pop edi esi ebx edx
|
pop edi esi ebx edx
|
||||||
|
@ -512,17 +512,11 @@ proc file.close _filed ;////////////////////////////////////////////////////////
|
|||||||
;;------------------------------------------------------------------------------------------------;;
|
;;------------------------------------------------------------------------------------------------;;
|
||||||
;# call `file.err` to obtain extended error information ;;
|
;# call `file.err` to obtain extended error information ;;
|
||||||
;;================================================================================================;;
|
;;================================================================================================;;
|
||||||
cmp eax,32
|
|
||||||
jb .exit_error
|
|
||||||
mov eax, [_filed]
|
mov eax, [_filed]
|
||||||
mov [eax + InternalFileInfo.Mode], 0
|
mov [eax + InternalFileInfo.Mode], 0
|
||||||
mov [eax + InternalFileInfo.FileName], 0
|
mov [eax + InternalFileInfo.FileName], 0
|
||||||
invoke mem.free, eax
|
invoke mem.free, eax
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
jmp @f
|
|
||||||
.exit_error:
|
|
||||||
or eax, -1
|
|
||||||
@@:
|
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user