forked from Mirrors/wine-wine
msvcrt: Added _fclose_nolock() implementation.
parent
1e65a32e26
commit
9fda14a9d6
|
@ -794,7 +794,7 @@
|
||||||
@ cdecl _execvpe(str ptr ptr)
|
@ cdecl _execvpe(str ptr ptr)
|
||||||
@ cdecl _exit(long) MSVCRT__exit
|
@ cdecl _exit(long) MSVCRT__exit
|
||||||
@ cdecl _expand(ptr long)
|
@ cdecl _expand(ptr long)
|
||||||
@ stub _fclose_nolock
|
@ cdecl _fclose_nolock(ptr) MSVCRT__fclose_nolock
|
||||||
@ cdecl _fcloseall() MSVCRT__fcloseall
|
@ cdecl _fcloseall() MSVCRT__fcloseall
|
||||||
@ cdecl _fcvt(double long ptr ptr) MSVCRT__fcvt
|
@ cdecl _fcvt(double long ptr ptr) MSVCRT__fcvt
|
||||||
@ cdecl _fcvt_s(ptr long double long ptr ptr) MSVCRT__fcvt_s
|
@ cdecl _fcvt_s(ptr long double long ptr ptr) MSVCRT__fcvt_s
|
||||||
|
|
|
@ -1142,7 +1142,7 @@
|
||||||
@ cdecl _execvpe(str ptr ptr)
|
@ cdecl _execvpe(str ptr ptr)
|
||||||
@ cdecl _exit(long) MSVCRT__exit
|
@ cdecl _exit(long) MSVCRT__exit
|
||||||
@ cdecl _expand(ptr long)
|
@ cdecl _expand(ptr long)
|
||||||
@ stub _fclose_nolock
|
@ cdecl _fclose_nolock(ptr) MSVCRT__fclose_nolock
|
||||||
@ cdecl _fcloseall() MSVCRT__fcloseall
|
@ cdecl _fcloseall() MSVCRT__fcloseall
|
||||||
@ cdecl _fcvt(double long ptr ptr) MSVCRT__fcvt
|
@ cdecl _fcvt(double long ptr ptr) MSVCRT__fcvt
|
||||||
@ cdecl _fcvt_s(ptr long double long ptr ptr) MSVCRT__fcvt_s
|
@ cdecl _fcvt_s(ptr long double long ptr ptr) MSVCRT__fcvt_s
|
||||||
|
|
|
@ -461,7 +461,7 @@
|
||||||
@ cdecl _execvpe(str ptr ptr)
|
@ cdecl _execvpe(str ptr ptr)
|
||||||
@ cdecl _exit(long) MSVCRT__exit
|
@ cdecl _exit(long) MSVCRT__exit
|
||||||
@ cdecl _expand(ptr long)
|
@ cdecl _expand(ptr long)
|
||||||
@ stub _fclose_nolock
|
@ cdecl _fclose_nolock(ptr) MSVCRT__fclose_nolock
|
||||||
@ cdecl _fcloseall() MSVCRT__fcloseall
|
@ cdecl _fcloseall() MSVCRT__fcloseall
|
||||||
@ cdecl _fcvt(double long ptr ptr) MSVCRT__fcvt
|
@ cdecl _fcvt(double long ptr ptr) MSVCRT__fcvt
|
||||||
@ cdecl _fcvt_s(ptr long double long ptr ptr) MSVCRT__fcvt_s
|
@ cdecl _fcvt_s(ptr long double long ptr ptr) MSVCRT__fcvt_s
|
||||||
|
|
|
@ -443,7 +443,7 @@
|
||||||
@ cdecl _execvpe(str ptr ptr)
|
@ cdecl _execvpe(str ptr ptr)
|
||||||
@ cdecl _exit(long) MSVCRT__exit
|
@ cdecl _exit(long) MSVCRT__exit
|
||||||
@ cdecl _expand(ptr long)
|
@ cdecl _expand(ptr long)
|
||||||
@ stub _fclose_nolock
|
@ cdecl _fclose_nolock(ptr) MSVCRT__fclose_nolock
|
||||||
@ cdecl _fcloseall() MSVCRT__fcloseall
|
@ cdecl _fcloseall() MSVCRT__fcloseall
|
||||||
@ cdecl _fcvt(double long ptr ptr) MSVCRT__fcvt
|
@ cdecl _fcvt(double long ptr ptr) MSVCRT__fcvt
|
||||||
@ cdecl _fcvt_s(ptr long double long ptr ptr) MSVCRT__fcvt_s
|
@ cdecl _fcvt_s(ptr long double long ptr ptr) MSVCRT__fcvt_s
|
||||||
|
|
|
@ -3373,9 +3373,22 @@ int CDECL MSVCRT__putw(int val, MSVCRT_FILE* file)
|
||||||
*/
|
*/
|
||||||
int CDECL MSVCRT_fclose(MSVCRT_FILE* file)
|
int CDECL MSVCRT_fclose(MSVCRT_FILE* file)
|
||||||
{
|
{
|
||||||
int r, flag;
|
int ret;
|
||||||
|
|
||||||
MSVCRT__lock_file(file);
|
MSVCRT__lock_file(file);
|
||||||
|
ret = MSVCRT__fclose_nolock(file);
|
||||||
|
MSVCRT__unlock_file(file);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
* _fclose_nolock (MSVCRT.@)
|
||||||
|
*/
|
||||||
|
int CDECL MSVCRT__fclose_nolock(MSVCRT_FILE* file)
|
||||||
|
{
|
||||||
|
int r, flag;
|
||||||
|
|
||||||
flag = file->_flag;
|
flag = file->_flag;
|
||||||
MSVCRT_free(file->_tmpfname);
|
MSVCRT_free(file->_tmpfname);
|
||||||
file->_tmpfname = NULL;
|
file->_tmpfname = NULL;
|
||||||
|
@ -3386,9 +3399,7 @@ int CDECL MSVCRT_fclose(MSVCRT_FILE* file)
|
||||||
MSVCRT_free(file->_base);
|
MSVCRT_free(file->_base);
|
||||||
|
|
||||||
r=MSVCRT__close(file->_file);
|
r=MSVCRT__close(file->_file);
|
||||||
|
|
||||||
file->_flag = 0;
|
file->_flag = 0;
|
||||||
MSVCRT__unlock_file(file);
|
|
||||||
|
|
||||||
return ((r == -1) || (flag & MSVCRT__IOERR) ? MSVCRT_EOF : 0);
|
return ((r == -1) || (flag & MSVCRT__IOERR) ? MSVCRT_EOF : 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -926,6 +926,7 @@ MSVCRT_ulong* __cdecl MSVCRT___doserrno(void);
|
||||||
int* __cdecl MSVCRT__errno(void);
|
int* __cdecl MSVCRT__errno(void);
|
||||||
char* __cdecl MSVCRT_getenv(const char*);
|
char* __cdecl MSVCRT_getenv(const char*);
|
||||||
int __cdecl MSVCRT_fclose(MSVCRT_FILE*);
|
int __cdecl MSVCRT_fclose(MSVCRT_FILE*);
|
||||||
|
int __cdecl MSVCRT__fclose_nolock(MSVCRT_FILE*);
|
||||||
void __cdecl MSVCRT_terminate(void);
|
void __cdecl MSVCRT_terminate(void);
|
||||||
MSVCRT_FILE* __cdecl MSVCRT__iob_func(void);
|
MSVCRT_FILE* __cdecl MSVCRT__iob_func(void);
|
||||||
MSVCRT_clock_t __cdecl MSVCRT_clock(void);
|
MSVCRT_clock_t __cdecl MSVCRT_clock(void);
|
||||||
|
|
|
@ -129,6 +129,7 @@ int __cdecl _vsprintf_p_l(char*,size_t,const char*,_locale_t,__ms_va_list);
|
||||||
|
|
||||||
void __cdecl clearerr(FILE*);
|
void __cdecl clearerr(FILE*);
|
||||||
int __cdecl fclose(FILE*);
|
int __cdecl fclose(FILE*);
|
||||||
|
int __cdecl _fclose_nolock(FILE*);
|
||||||
int __cdecl feof(FILE*);
|
int __cdecl feof(FILE*);
|
||||||
int __cdecl ferror(FILE*);
|
int __cdecl ferror(FILE*);
|
||||||
int __cdecl fflush(FILE*);
|
int __cdecl fflush(FILE*);
|
||||||
|
|
Loading…
Reference in New Issue