From 0d479b9d8c54184cce9678b3095bf01d5b4a473c Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Wed, 2 Dec 2020 00:53:28 +0100 Subject: [PATCH] msvcrt: Use stdio.h definitions. Signed-off-by: Piotr Caban Signed-off-by: Alexandre Julliard --- dlls/msvcrt/file.c | 242 ++++++++++++++++++++++++------------------------- dlls/msvcrt/msvcrt.h | 31 +------ include/msvcrt/stdio.h | 1 + 3 files changed, 126 insertions(+), 148 deletions(-) diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c index 8da78a94988..be8324dce17 100644 --- a/dlls/msvcrt/file.c +++ b/dlls/msvcrt/file.c @@ -575,7 +575,7 @@ void msvcrt_init_io(void) } } - fdinfo = get_ioinfo_alloc_fd(MSVCRT_STDIN_FILENO); + fdinfo = get_ioinfo_alloc_fd(STDIN_FILENO); if (!(fdinfo->wxflag & WX_OPEN) || fdinfo->handle == INVALID_HANDLE_VALUE) { HANDLE h = GetStdHandle(STD_INPUT_HANDLE); DWORD flags = WX_OPEN | WX_TEXT; @@ -594,7 +594,7 @@ void msvcrt_init_io(void) } release_ioinfo(fdinfo); - fdinfo = get_ioinfo_alloc_fd(MSVCRT_STDOUT_FILENO); + fdinfo = get_ioinfo_alloc_fd(STDOUT_FILENO); if (!(fdinfo->wxflag & WX_OPEN) || fdinfo->handle == INVALID_HANDLE_VALUE) { HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE); DWORD flags = WX_OPEN | WX_TEXT; @@ -613,7 +613,7 @@ void msvcrt_init_io(void) } release_ioinfo(fdinfo); - fdinfo = get_ioinfo_alloc_fd(MSVCRT_STDERR_FILENO); + fdinfo = get_ioinfo_alloc_fd(STDERR_FILENO); if (!(fdinfo->wxflag & WX_OPEN) || fdinfo->handle == INVALID_HANDLE_VALUE) { HANDLE h = GetStdHandle(STD_ERROR_HANDLE); DWORD flags = WX_OPEN | WX_TEXT; @@ -632,9 +632,9 @@ void msvcrt_init_io(void) } release_ioinfo(fdinfo); - TRACE(":handles (%p)(%p)(%p)\n", get_ioinfo_nolock(MSVCRT_STDIN_FILENO)->handle, - get_ioinfo_nolock(MSVCRT_STDOUT_FILENO)->handle, - get_ioinfo_nolock(MSVCRT_STDERR_FILENO)->handle); + TRACE(":handles (%p)(%p)(%p)\n", get_ioinfo_nolock(STDIN_FILENO)->handle, + get_ioinfo_nolock(STDOUT_FILENO)->handle, + get_ioinfo_nolock(STDERR_FILENO)->handle); memset(MSVCRT__iob,0,3*sizeof(FILE)); for (i = 0; i < 3; i++) @@ -643,7 +643,7 @@ void msvcrt_init_io(void) MSVCRT__iob[i]._file = get_ioinfo_nolock(i)->handle == MSVCRT_NO_CONSOLE ? MSVCRT_NO_CONSOLE_FD : i; MSVCRT__iob[i]._tmpfname = NULL; - MSVCRT__iob[i]._flag = (i == 0) ? MSVCRT__IOREAD : MSVCRT__IOWRT; + MSVCRT__iob[i]._flag = (i == 0) ? _IOREAD : _IOWRT; } MSVCRT_stream_idx = 3; } @@ -653,14 +653,14 @@ static int msvcrt_flush_buffer(FILE* file) { int ret = 0; - if((file->_flag & (MSVCRT__IOREAD|MSVCRT__IOWRT)) == MSVCRT__IOWRT && - file->_flag & (MSVCRT__IOMYBUF|MSVCRT__USERBUF)) { + if((file->_flag & (_IOREAD|_IOWRT)) == _IOWRT && + file->_flag & (_IOMYBUF|MSVCRT__USERBUF)) { int cnt=file->_ptr-file->_base; if(cnt>0 && MSVCRT__write(file->_file, file->_base, cnt) != cnt) { - file->_flag |= MSVCRT__IOERR; + file->_flag |= _IOERR; ret = EOF; - } else if(file->_flag & MSVCRT__IORW) { - file->_flag &= ~MSVCRT__IOWRT; + } else if(file->_flag & _IORW) { + file->_flag &= ~_IOWRT; } } @@ -682,18 +682,18 @@ int CDECL MSVCRT__isatty(int fd) /* INTERNAL: Allocate stdio file buffer */ static BOOL msvcrt_alloc_buffer(FILE* file) { - if((file->_file==MSVCRT_STDOUT_FILENO || file->_file==MSVCRT_STDERR_FILENO) + if((file->_file==STDOUT_FILENO || file->_file==STDERR_FILENO) && MSVCRT__isatty(file->_file)) return FALSE; file->_base = calloc(1, MSVCRT_INTERNAL_BUFSIZ); if(file->_base) { file->_bufsiz = MSVCRT_INTERNAL_BUFSIZ; - file->_flag |= MSVCRT__IOMYBUF; + file->_flag |= _IOMYBUF; } else { file->_base = (char*)(&file->_charbuf); file->_bufsiz = 2; - file->_flag |= MSVCRT__IONBF; + file->_flag |= _IONBF; } file->_ptr = file->_base; file->_cnt = 0; @@ -703,15 +703,15 @@ static BOOL msvcrt_alloc_buffer(FILE* file) /* INTERNAL: Allocate temporary buffer for stdout and stderr */ static BOOL add_std_buffer(FILE *file) { - static char buffers[2][MSVCRT_BUFSIZ]; + static char buffers[2][BUFSIZ]; - if((file->_file!=MSVCRT_STDOUT_FILENO && file->_file!=MSVCRT_STDERR_FILENO) - || (file->_flag & (MSVCRT__IONBF | MSVCRT__IOMYBUF | MSVCRT__USERBUF)) + if((file->_file!=STDOUT_FILENO && file->_file!=STDERR_FILENO) + || (file->_flag & (_IONBF | _IOMYBUF | MSVCRT__USERBUF)) || !MSVCRT__isatty(file->_file)) return FALSE; - file->_ptr = file->_base = buffers[file->_file == MSVCRT_STDOUT_FILENO ? 0 : 1]; - file->_bufsiz = file->_cnt = MSVCRT_BUFSIZ; + file->_ptr = file->_base = buffers[file->_file == STDOUT_FILENO ? 0 : 1]; + file->_bufsiz = file->_cnt = BUFSIZ; file->_flag |= MSVCRT__USERBUF; return TRUE; } @@ -999,7 +999,7 @@ static int msvcrt_flush_all_buffers(int mask) */ int CDECL MSVCRT__flushall(void) { - return msvcrt_flush_all_buffers(MSVCRT__IOWRT | MSVCRT__IOREAD); + return msvcrt_flush_all_buffers(_IOWRT | _IOREAD); } /********************************************************************* @@ -1010,7 +1010,7 @@ int CDECL MSVCRT_fflush(FILE* file) int ret; if(!file) { - msvcrt_flush_all_buffers(MSVCRT__IOWRT); + msvcrt_flush_all_buffers(_IOWRT); ret = 0; } else { MSVCRT__lock_file(file); @@ -1029,7 +1029,7 @@ int CDECL MSVCRT__fflush_nolock(FILE* file) int res; if(!file) { - msvcrt_flush_all_buffers(MSVCRT__IOWRT); + msvcrt_flush_all_buffers(_IOWRT); return 0; } @@ -1054,12 +1054,12 @@ int CDECL MSVCRT__close(int fd) ret = -1; } else if (!MSVCRT_CHECK_PMT_ERR(info->wxflag & WX_OPEN, EBADF)) { ret = -1; - } else if (fd == MSVCRT_STDOUT_FILENO && - info->handle == get_ioinfo_nolock(MSVCRT_STDERR_FILENO)->handle) { + } else if (fd == STDOUT_FILENO && + info->handle == get_ioinfo_nolock(STDERR_FILENO)->handle) { msvcrt_free_fd(fd); ret = 0; - } else if (fd == MSVCRT_STDERR_FILENO && - info->handle == get_ioinfo_nolock(MSVCRT_STDOUT_FILENO)->handle) { + } else if (fd == STDERR_FILENO && + info->handle == get_ioinfo_nolock(STDOUT_FILENO)->handle) { msvcrt_free_fd(fd); ret = 0; } else { @@ -1275,9 +1275,9 @@ __int64 CDECL MSVCRT__lseeki64(int fd, __int64 offset, int whence) TRACE(":fd (%d) to %s pos %s\n", fd,wine_dbgstr_longlong(offset), - (whence==MSVCRT_SEEK_SET)?"SEEK_SET": - (whence==MSVCRT_SEEK_CUR)?"SEEK_CUR": - (whence==MSVCRT_SEEK_END)?"SEEK_END":"UNKNOWN"); + (whence==SEEK_SET)?"SEEK_SET": + (whence==SEEK_CUR)?"SEEK_CUR": + (whence==SEEK_END)?"SEEK_END":"UNKNOWN"); /* The MoleBox protection scheme expects msvcrt to use SetFilePointer only, * so a LARGE_INTEGER offset cannot be passed directly via SetFilePointerEx. */ @@ -1408,19 +1408,19 @@ int CDECL MSVCRT__fseeki64_nolock(FILE* file, __int64 offset, int whence) { int ret; - if(whence == MSVCRT_SEEK_CUR && file->_flag & MSVCRT__IOREAD ) { - whence = MSVCRT_SEEK_SET; + if(whence == SEEK_CUR && file->_flag & _IOREAD ) { + whence = SEEK_SET; offset += MSVCRT__ftelli64_nolock(file); } /* Flush output if needed */ msvcrt_flush_buffer(file); /* Reset direction of i/o */ - if(file->_flag & MSVCRT__IORW) { - file->_flag &= ~(MSVCRT__IOREAD|MSVCRT__IOWRT); + if(file->_flag & _IORW) { + file->_flag &= ~(_IOREAD|_IOWRT); } /* Clear end of file flag */ - file->_flag &= ~MSVCRT__IOEOF; + file->_flag &= ~_IOEOF; ret = (MSVCRT__lseeki64(file->_file,offset,whence) == -1)?-1:0; return ret; @@ -1460,10 +1460,10 @@ int CDECL MSVCRT__chsize_s(int fd, __int64 size) if (info->handle != INVALID_HANDLE_VALUE) { /* save the current file pointer */ - cur = MSVCRT__lseeki64(fd, 0, MSVCRT_SEEK_CUR); + cur = MSVCRT__lseeki64(fd, 0, SEEK_CUR); if (cur >= 0) { - pos = MSVCRT__lseeki64(fd, size, MSVCRT_SEEK_SET); + pos = MSVCRT__lseeki64(fd, size, SEEK_SET); if (pos >= 0) { ret = SetEndOfFile(info->handle); @@ -1471,7 +1471,7 @@ int CDECL MSVCRT__chsize_s(int fd, __int64 size) } /* restore the file pointer */ - MSVCRT__lseeki64(fd, cur, MSVCRT_SEEK_SET); + MSVCRT__lseeki64(fd, cur, SEEK_SET); } } @@ -1496,7 +1496,7 @@ void CDECL MSVCRT_clearerr(FILE* file) TRACE(":file (%p) fd (%d)\n",file,file->_file); MSVCRT__lock_file(file); - file->_flag &= ~(MSVCRT__IOERR | MSVCRT__IOEOF); + file->_flag &= ~(_IOERR | _IOEOF); MSVCRT__unlock_file(file); } @@ -1510,7 +1510,7 @@ int CDECL MSVCRT_clearerr_s(FILE* file) if (!MSVCRT_CHECK_PMT(file != NULL)) return EINVAL; MSVCRT__lock_file(file); - file->_flag &= ~(MSVCRT__IOERR | MSVCRT__IOEOF); + file->_flag &= ~(_IOERR | _IOEOF); MSVCRT__unlock_file(file); return 0; } @@ -1523,7 +1523,7 @@ void CDECL MSVCRT_rewind(FILE* file) TRACE(":file (%p) fd (%d)\n",file,file->_file); MSVCRT__lock_file(file); - MSVCRT__fseek_nolock(file, 0L, MSVCRT_SEEK_SET); + MSVCRT__fseek_nolock(file, 0L, SEEK_SET); MSVCRT_clearerr(file); MSVCRT__unlock_file(file); } @@ -1540,15 +1540,15 @@ static int msvcrt_get_flags(const wchar_t* mode, int *open_flags, int* stream_fl { case 'R': case 'r': *open_flags = plus ? MSVCRT__O_RDWR : MSVCRT__O_RDONLY; - *stream_flags = plus ? MSVCRT__IORW : MSVCRT__IOREAD; + *stream_flags = plus ? _IORW : _IOREAD; break; case 'W': case 'w': *open_flags = MSVCRT__O_CREAT | MSVCRT__O_TRUNC | (plus ? MSVCRT__O_RDWR : MSVCRT__O_WRONLY); - *stream_flags = plus ? MSVCRT__IORW : MSVCRT__IOWRT; + *stream_flags = plus ? _IORW : _IOWRT; break; case 'A': case 'a': *open_flags = MSVCRT__O_CREAT | MSVCRT__O_APPEND | (plus ? MSVCRT__O_RDWR : MSVCRT__O_WRONLY); - *stream_flags = plus ? MSVCRT__IORW : MSVCRT__IOWRT; + *stream_flags = plus ? _IORW : _IOWRT; break; default: MSVCRT_INVALID_PMT(0, EINVAL); @@ -1684,14 +1684,14 @@ FILE* CDECL MSVCRT__wfdopen(int fd, const wchar_t *mode) */ LONG CDECL MSVCRT__filelength(int fd) { - LONG curPos = MSVCRT__lseek(fd, 0, MSVCRT_SEEK_CUR); + LONG curPos = MSVCRT__lseek(fd, 0, SEEK_CUR); if (curPos != -1) { - LONG endPos = MSVCRT__lseek(fd, 0, MSVCRT_SEEK_END); + LONG endPos = MSVCRT__lseek(fd, 0, SEEK_END); if (endPos != -1) { if (endPos != curPos) - MSVCRT__lseek(fd, curPos, MSVCRT_SEEK_SET); + MSVCRT__lseek(fd, curPos, SEEK_SET); return endPos; } } @@ -1703,14 +1703,14 @@ LONG CDECL MSVCRT__filelength(int fd) */ __int64 CDECL MSVCRT__filelengthi64(int fd) { - __int64 curPos = MSVCRT__lseeki64(fd, 0, MSVCRT_SEEK_CUR); + __int64 curPos = MSVCRT__lseeki64(fd, 0, SEEK_CUR); if (curPos != -1) { - __int64 endPos = MSVCRT__lseeki64(fd, 0, MSVCRT_SEEK_END); + __int64 endPos = MSVCRT__lseeki64(fd, 0, SEEK_END); if (endPos != -1) { if (endPos != curPos) - MSVCRT__lseeki64(fd, curPos, MSVCRT_SEEK_SET); + MSVCRT__lseeki64(fd, curPos, SEEK_SET); return endPos; } } @@ -3260,7 +3260,7 @@ int CDECL MSVCRT__wstat64i32(const wchar_t *path, struct MSVCRT__stat64i32 *buf) */ __msvcrt_long CDECL MSVCRT__tell(int fd) { - return MSVCRT__lseek(fd, 0, MSVCRT_SEEK_CUR); + return MSVCRT__lseek(fd, 0, SEEK_CUR); } /********************************************************************* @@ -3268,7 +3268,7 @@ __msvcrt_long CDECL MSVCRT__tell(int fd) */ __int64 CDECL _telli64(int fd) { - return MSVCRT__lseeki64(fd, 0, MSVCRT_SEEK_CUR); + return MSVCRT__lseeki64(fd, 0, SEEK_CUR); } /********************************************************************* @@ -3575,7 +3575,7 @@ int CDECL MSVCRT__putw(int val, FILE* file) return val; } - file->_flag |= MSVCRT__IOERR; + file->_flag |= _IOERR; MSVCRT__unlock_file(file); return EOF; } @@ -3601,7 +3601,7 @@ int CDECL MSVCRT__fclose_nolock(FILE* file) { int r, flag; - if(!(file->_flag & (MSVCRT__IOREAD | MSVCRT__IOWRT | MSVCRT__IORW))) + if(!(file->_flag & (_IOREAD | _IOWRT | _IORW))) { file->_flag = 0; return EOF; @@ -3611,15 +3611,15 @@ int CDECL MSVCRT__fclose_nolock(FILE* file) free(file->_tmpfname); file->_tmpfname = NULL; /* flush stdio buffers */ - if(file->_flag & MSVCRT__IOWRT) + if(file->_flag & _IOWRT) MSVCRT__fflush_nolock(file); - if(file->_flag & MSVCRT__IOMYBUF) + if(file->_flag & _IOMYBUF) free(file->_base); r=MSVCRT__close(file->_file); file->_flag = 0; - return ((r == -1) || (flag & MSVCRT__IOERR) ? EOF : 0); + return ((r == -1) || (flag & _IOERR) ? EOF : 0); } /********************************************************************* @@ -3627,7 +3627,7 @@ int CDECL MSVCRT__fclose_nolock(FILE* file) */ int CDECL MSVCRT_feof(FILE* file) { - return file->_flag & MSVCRT__IOEOF; + return file->_flag & _IOEOF; } /********************************************************************* @@ -3635,7 +3635,7 @@ int CDECL MSVCRT_feof(FILE* file) */ int CDECL MSVCRT_ferror(FILE* file) { - return file->_flag & MSVCRT__IOERR; + return file->_flag & _IOERR; } /********************************************************************* @@ -3645,24 +3645,24 @@ int CDECL MSVCRT__filbuf(FILE* file) { unsigned char c; - if(file->_flag & MSVCRT__IOSTRG) + if(file->_flag & _IOSTRG) return EOF; /* Allocate buffer if needed */ - if(!(file->_flag & (MSVCRT__IONBF | MSVCRT__IOMYBUF | MSVCRT__USERBUF))) + if(!(file->_flag & (_IONBF | _IOMYBUF | MSVCRT__USERBUF))) msvcrt_alloc_buffer(file); - if(!(file->_flag & MSVCRT__IOREAD)) { - if(file->_flag & MSVCRT__IORW) - file->_flag |= MSVCRT__IOREAD; + if(!(file->_flag & _IOREAD)) { + if(file->_flag & _IORW) + file->_flag |= _IOREAD; else return EOF; } - if(!(file->_flag & (MSVCRT__IOMYBUF | MSVCRT__USERBUF))) { + if(!(file->_flag & (_IOMYBUF | MSVCRT__USERBUF))) { int r; if ((r = MSVCRT__read(file->_file,&c,1)) != 1) { - file->_flag |= (r == 0) ? MSVCRT__IOEOF : MSVCRT__IOERR; + file->_flag |= (r == 0) ? _IOEOF : _IOERR; return EOF; } @@ -3670,7 +3670,7 @@ int CDECL MSVCRT__filbuf(FILE* file) } else { file->_cnt = MSVCRT__read(file->_file, file->_base, file->_bufsiz); if(file->_cnt<=0) { - file->_flag |= (file->_cnt == 0) ? MSVCRT__IOEOF : MSVCRT__IOERR; + file->_flag |= (file->_cnt == 0) ? _IOEOF : _IOERR; file->_cnt = 0; return EOF; } @@ -3827,7 +3827,7 @@ int CDECL MSVCRT__getw(FILE* file) for (j=0; j_flag |= MSVCRT__IOEOF; + file->_flag |= _IOEOF; MSVCRT__unlock_file(file); return EOF; } @@ -3900,36 +3900,36 @@ wchar_t * CDECL MSVCRT_fgetws(wchar_t *s, int size, FILE* file) int CDECL MSVCRT__flsbuf(int c, FILE* file) { /* Flush output buffer */ - if(!(file->_flag & (MSVCRT__IONBF | MSVCRT__IOMYBUF | MSVCRT__USERBUF))) { + if(!(file->_flag & (_IONBF | _IOMYBUF | MSVCRT__USERBUF))) { msvcrt_alloc_buffer(file); } - if(!(file->_flag & MSVCRT__IOWRT)) { - if(!(file->_flag & MSVCRT__IORW)) { - file->_flag |= MSVCRT__IOERR; + if(!(file->_flag & _IOWRT)) { + if(!(file->_flag & _IORW)) { + file->_flag |= _IOERR; *_errno() = EBADF; return EOF; } - file->_flag |= MSVCRT__IOWRT; + file->_flag |= _IOWRT; } - if(file->_flag & MSVCRT__IOREAD) { - if(!(file->_flag & MSVCRT__IOEOF)) { - file->_flag |= MSVCRT__IOERR; + if(file->_flag & _IOREAD) { + if(!(file->_flag & _IOEOF)) { + file->_flag |= _IOERR; return EOF; } file->_cnt = 0; file->_ptr = file->_base; - file->_flag &= ~(MSVCRT__IOREAD | MSVCRT__IOEOF); + file->_flag &= ~(_IOREAD | _IOEOF); } - if(file->_flag & (MSVCRT__IOMYBUF | MSVCRT__USERBUF)) { + if(file->_flag & (_IOMYBUF | MSVCRT__USERBUF)) { int res = 0; if(file->_cnt <= 0) { res = msvcrt_flush_buffer(file); if(res) return res; - file->_flag |= MSVCRT__IOWRT; + file->_flag |= _IOWRT; file->_cnt=file->_bufsiz; } *file->_ptr++ = c; @@ -3943,7 +3943,7 @@ int CDECL MSVCRT__flsbuf(int c, FILE* file) len = MSVCRT__write(file->_file, &cc, 1); if (len == 1) return c & 0xff; - file->_flag |= MSVCRT__IOERR; + file->_flag |= _IOERR; return EOF; } } @@ -3975,7 +3975,7 @@ size_t CDECL MSVCRT__fwrite_nolock(const void *ptr, size_t size, size_t nmemb, F while(wrcnt) { if(file->_cnt < 0) { WARN("negative file->_cnt value in %p\n", file); - file->_flag |= MSVCRT__IOERR; + file->_flag |= _IOERR; break; } else if(file->_cnt) { int pcnt=(file->_cnt>wrcnt)? wrcnt: file->_cnt; @@ -3985,15 +3985,15 @@ size_t CDECL MSVCRT__fwrite_nolock(const void *ptr, size_t size, size_t nmemb, F written += pcnt; wrcnt -= pcnt; ptr = (const char*)ptr + pcnt; - } else if((file->_flag & MSVCRT__IONBF) - || ((file->_flag & (MSVCRT__IOMYBUF | MSVCRT__USERBUF)) && wrcnt >= file->_bufsiz) - || (!(file->_flag & (MSVCRT__IOMYBUF | MSVCRT__USERBUF)) && wrcnt >= MSVCRT_INTERNAL_BUFSIZ)) { + } else if((file->_flag & _IONBF) + || ((file->_flag & (_IOMYBUF | MSVCRT__USERBUF)) && wrcnt >= file->_bufsiz) + || (!(file->_flag & (_IOMYBUF | MSVCRT__USERBUF)) && wrcnt >= MSVCRT_INTERNAL_BUFSIZ)) { size_t pcnt; int bufsiz; - if(file->_flag & MSVCRT__IONBF) + if(file->_flag & _IONBF) bufsiz = 1; - else if(!(file->_flag & (MSVCRT__IOMYBUF | MSVCRT__USERBUF))) + else if(!(file->_flag & (_IOMYBUF | MSVCRT__USERBUF))) bufsiz = MSVCRT_INTERNAL_BUFSIZ; else bufsiz = file->_bufsiz; @@ -4004,7 +4004,7 @@ size_t CDECL MSVCRT__fwrite_nolock(const void *ptr, size_t size, size_t nmemb, F break; if(MSVCRT__write(file->_file, ptr, pcnt) <= 0) { - file->_flag |= MSVCRT__IOERR; + file->_flag |= _IOERR; break; } written += pcnt; @@ -4266,21 +4266,21 @@ size_t CDECL MSVCRT__fread_nolock(void *ptr, size_t size, size_t nmemb, FILE* fi read += pcnt ; rcnt -= pcnt ; ptr = (char*)ptr + pcnt; - } else if(!(file->_flag & MSVCRT__IOREAD )) { - if(file->_flag & MSVCRT__IORW) { - file->_flag |= MSVCRT__IOREAD; + } else if(!(file->_flag & _IOREAD )) { + if(file->_flag & _IORW) { + file->_flag |= _IOREAD; } else { return 0; } } - if(rcnt>0 && !(file->_flag & (MSVCRT__IONBF | MSVCRT__IOMYBUF | MSVCRT__USERBUF))) + if(rcnt>0 && !(file->_flag & (_IONBF | _IOMYBUF | MSVCRT__USERBUF))) msvcrt_alloc_buffer(file); while(rcnt>0) { int i; - if (!file->_cnt && rcnt_bufsiz && (file->_flag & (MSVCRT__IOMYBUF | MSVCRT__USERBUF))) { + if (!file->_cnt && rcnt_bufsiz && (file->_flag & (_IOMYBUF | MSVCRT__USERBUF))) { i = MSVCRT__read(file->_file, file->_base, file->_bufsiz); file->_ptr = file->_base; if (i != -1) { @@ -4290,7 +4290,7 @@ size_t CDECL MSVCRT__fread_nolock(void *ptr, size_t size, size_t nmemb, FILE* fi /* If the buffer fill reaches eof but fread wouldn't, clear eof. */ if (i > 0 && i < file->_cnt) { get_ioinfo_nolock(file->_file)->wxflag &= ~WX_ATEOF; - file->_flag &= ~MSVCRT__IOEOF; + file->_flag &= ~_IOEOF; } if (i > 0) { memcpy(ptr, file->_ptr, i); @@ -4311,10 +4311,10 @@ size_t CDECL MSVCRT__fread_nolock(void *ptr, size_t size, size_t nmemb, FILE* fi * MFC tests file->_flag for feof, and doesn't call feof()) */ if (get_ioinfo_nolock(file->_file)->wxflag & WX_ATEOF) - file->_flag |= MSVCRT__IOEOF; + file->_flag |= _IOEOF; else if (i == -1) { - file->_flag |= MSVCRT__IOERR; + file->_flag |= _IOERR; pread = 0; rcnt = 0; } @@ -4502,11 +4502,11 @@ int CDECL MSVCRT_fsetpos(FILE* file, fpos_t *pos) msvcrt_flush_buffer(file); /* Reset direction of i/o */ - if(file->_flag & MSVCRT__IORW) { - file->_flag &= ~(MSVCRT__IOREAD|MSVCRT__IOWRT); + if(file->_flag & _IORW) { + file->_flag &= ~(_IOREAD|_IOWRT); } - ret = (MSVCRT__lseeki64(file->_file,*pos,MSVCRT_SEEK_SET) == -1) ? -1 : 0; + ret = (MSVCRT__lseeki64(file->_file,*pos,SEEK_SET) == -1) ? -1 : 0; MSVCRT__unlock_file(file); return ret; } @@ -4535,8 +4535,8 @@ __int64 CDECL MSVCRT__ftelli64_nolock(FILE* file) pos = _telli64(file->_file); if(pos == -1) return -1; - if(file->_flag & (MSVCRT__IOMYBUF | MSVCRT__USERBUF)) { - if(file->_flag & MSVCRT__IOWRT) { + if(file->_flag & (_IOMYBUF | MSVCRT__USERBUF)) { + if(file->_flag & _IOWRT) { pos += file->_ptr - file->_base; if(get_ioinfo_nolock(file->_file)->wxflag & WX_TEXT) { @@ -4547,7 +4547,7 @@ __int64 CDECL MSVCRT__ftelli64_nolock(FILE* file) pos++; } } else if(!file->_cnt) { /* nothing to do */ - } else if(MSVCRT__lseeki64(file->_file, 0, MSVCRT_SEEK_END)==pos) { + } else if(MSVCRT__lseeki64(file->_file, 0, SEEK_END)==pos) { int i; pos -= file->_cnt; @@ -4559,7 +4559,7 @@ __int64 CDECL MSVCRT__ftelli64_nolock(FILE* file) } else { char *p; - if(MSVCRT__lseeki64(file->_file, pos, MSVCRT_SEEK_SET) != pos) + if(MSVCRT__lseeki64(file->_file, pos, SEEK_SET) != pos) return -1; pos -= file->_bufsiz; @@ -4854,19 +4854,19 @@ int CDECL MSVCRT__wrename(const wchar_t *oldpath,const wchar_t *newpath) int CDECL MSVCRT_setvbuf(FILE* file, char *buf, int mode, size_t size) { if(!MSVCRT_CHECK_PMT(file != NULL)) return -1; - if(!MSVCRT_CHECK_PMT(mode==MSVCRT__IONBF || mode==MSVCRT__IOFBF || mode==MSVCRT__IOLBF)) return -1; - if(!MSVCRT_CHECK_PMT(mode==MSVCRT__IONBF || (size>=2 && size<=INT_MAX))) return -1; + if(!MSVCRT_CHECK_PMT(mode==_IONBF || mode==_IOFBF || mode==_IOLBF)) return -1; + if(!MSVCRT_CHECK_PMT(mode==_IONBF || (size>=2 && size<=INT_MAX))) return -1; MSVCRT__lock_file(file); MSVCRT__fflush_nolock(file); - if(file->_flag & MSVCRT__IOMYBUF) + if(file->_flag & _IOMYBUF) free(file->_base); - file->_flag &= ~(MSVCRT__IONBF | MSVCRT__IOMYBUF | MSVCRT__USERBUF); + file->_flag &= ~(_IONBF | _IOMYBUF | MSVCRT__USERBUF); file->_cnt = 0; - if(mode == MSVCRT__IONBF) { - file->_flag |= MSVCRT__IONBF; + if(mode == _IONBF) { + file->_flag |= _IONBF; file->_base = file->_ptr = (char*)&file->_charbuf; file->_bufsiz = 2; }else if(buf) { @@ -4881,7 +4881,7 @@ int CDECL MSVCRT_setvbuf(FILE* file, char *buf, int mode, size_t size) return -1; } - file->_flag |= MSVCRT__IOMYBUF; + file->_flag |= _IOMYBUF; file->_bufsiz = size; } MSVCRT__unlock_file(file); @@ -4893,7 +4893,7 @@ int CDECL MSVCRT_setvbuf(FILE* file, char *buf, int mode, size_t size) */ void CDECL MSVCRT_setbuf(FILE* file, char *buf) { - MSVCRT_setvbuf(file, buf, buf ? MSVCRT__IOFBF : MSVCRT__IONBF, MSVCRT_BUFSIZ); + MSVCRT_setvbuf(file, buf, buf ? _IOFBF : _IONBF, BUFSIZ); } static int tmpnam_helper(char *s, size_t size, int *tmpnam_unique, int tmp_max) @@ -4947,7 +4947,7 @@ static int tmpnam_helper(char *s, size_t size, int *tmpnam_unique, int tmp_max) int CDECL MSVCRT_tmpnam_s(char *s, size_t size) { - return tmpnam_helper(s, size, &tmpnam_s_unique, MSVCRT_TMP_MAX_S); + return tmpnam_helper(s, size, &tmpnam_s_unique, TMP_MAX_S); } /********************************************************************* @@ -4964,7 +4964,7 @@ char * CDECL MSVCRT_tmpnam(char *s) s = data->tmpnam_buffer; } - return tmpnam_helper(s, -1, &tmpnam_unique, MSVCRT_TMP_MAX) ? NULL : s; + return tmpnam_helper(s, -1, &tmpnam_unique, TMP_MAX) ? NULL : s; } static int wtmpnam_helper(wchar_t *s, size_t size, int *tmpnam_unique, int tmp_max) @@ -5021,7 +5021,7 @@ static int wtmpnam_helper(wchar_t *s, size_t size, int *tmpnam_unique, int tmp_m */ int CDECL MSVCRT__wtmpnam_s(wchar_t *s, size_t size) { - return wtmpnam_helper(s, size, &tmpnam_s_unique, MSVCRT_TMP_MAX_S); + return wtmpnam_helper(s, size, &tmpnam_s_unique, TMP_MAX_S); } /********************************************************************* @@ -5038,7 +5038,7 @@ wchar_t * CDECL MSVCRT__wtmpnam(wchar_t *s) s = data->wtmpnam_buffer; } - return wtmpnam_helper(s, -1, &tmpnam_unique, MSVCRT_TMP_MAX) ? NULL : s; + return wtmpnam_helper(s, -1, &tmpnam_unique, TMP_MAX) ? NULL : s; } /********************************************************************* @@ -5055,7 +5055,7 @@ FILE* CDECL MSVCRT_tmpfile(void) MSVCRT__S_IREAD | MSVCRT__S_IWRITE); if (fd != -1 && (file = msvcrt_alloc_fp())) { - if (msvcrt_init_fp(file, fd, MSVCRT__IORW) == -1) + if (msvcrt_init_fp(file, fd, _IORW) == -1) { file->_flag = 0; file = NULL; @@ -5477,18 +5477,18 @@ int CDECL MSVCRT__ungetc_nolock(int c, FILE * file) { if(!MSVCRT_CHECK_PMT(file != NULL)) return EOF; - if (c == EOF || !(file->_flag&MSVCRT__IOREAD || - (file->_flag&MSVCRT__IORW && !(file->_flag&MSVCRT__IOWRT)))) + if (c == EOF || !(file->_flag&_IOREAD || + (file->_flag&_IORW && !(file->_flag&_IOWRT)))) return EOF; - if((!(file->_flag & (MSVCRT__IONBF | MSVCRT__IOMYBUF | MSVCRT__USERBUF)) + if((!(file->_flag & (_IONBF | _IOMYBUF | MSVCRT__USERBUF)) && msvcrt_alloc_buffer(file)) || (!file->_cnt && file->_ptr==file->_base)) file->_ptr++; if(file->_ptr>file->_base) { file->_ptr--; - if(file->_flag & MSVCRT__IOSTRG) { + if(file->_flag & _IOSTRG) { if(*file->_ptr != c) { file->_ptr++; return EOF; @@ -5497,8 +5497,8 @@ int CDECL MSVCRT__ungetc_nolock(int c, FILE * file) *file->_ptr = c; } file->_cnt++; - file->_flag &= ~(MSVCRT__IOERR | MSVCRT__IOEOF); - file->_flag |= MSVCRT__IOREAD; + file->_flag &= ~(_IOERR | _IOEOF); + file->_flag |= _IOREAD; return c; } diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index 8b20acbfd7e..2761f6cfb1a 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -515,36 +515,19 @@ struct MSVCRT__stat64 { #define MSVCRT__stati64 MSVCRT__stat32i64 #endif -#define MSVCRT_TMP_MAX 0x7fff -#define MSVCRT_TMP_MAX_S 0x7fffffff #define MSVCRT_RAND_MAX 0x7fff -#define MSVCRT_BUFSIZ 512 - -#define MSVCRT_SEEK_SET 0 -#define MSVCRT_SEEK_CUR 1 -#define MSVCRT_SEEK_END 2 #define MSVCRT_NO_CONSOLE_FD (-2) #define MSVCRT_NO_CONSOLE ((HANDLE)MSVCRT_NO_CONSOLE_FD) -#define MSVCRT_STDIN_FILENO 0 -#define MSVCRT_STDOUT_FILENO 1 -#define MSVCRT_STDERR_FILENO 2 - -/* more file._flag flags, but these conflict with Unix */ -#define MSVCRT__IOFBF 0x0000 -#define MSVCRT__IONBF 0x0004 -#define MSVCRT__IOLBF 0x0040 - -#define MSVCRT_FILENAME_MAX 260 #define MSVCRT_DRIVE_MAX 3 #define MSVCRT_FNAME_MAX 256 #define MSVCRT_DIR_MAX 256 #define MSVCRT_EXT_MAX 256 #define MSVCRT_PATH_MAX 260 -#define MSVCRT_stdin (MSVCRT__iob+MSVCRT_STDIN_FILENO) -#define MSVCRT_stdout (MSVCRT__iob+MSVCRT_STDOUT_FILENO) -#define MSVCRT_stderr (MSVCRT__iob+MSVCRT_STDERR_FILENO) +#define MSVCRT_stdin (MSVCRT__iob+STDIN_FILENO) +#define MSVCRT_stdout (MSVCRT__iob+STDOUT_FILENO) +#define MSVCRT_stderr (MSVCRT__iob+STDERR_FILENO) #define MSVCRT__P_WAIT 0 #define MSVCRT__P_NOWAIT 1 @@ -557,13 +540,7 @@ struct MSVCRT__stat64 { #define MSVCRT__OUT_TO_MSGBOX 2 #define MSVCRT__REPORT_ERRMODE 3 -#define MSVCRT__IOREAD 0x0001 -#define MSVCRT__IOWRT 0x0002 -#define MSVCRT__IOMYBUF 0x0008 -#define MSVCRT__IOEOF 0x0010 -#define MSVCRT__IOERR 0x0020 -#define MSVCRT__IOSTRG 0x0040 -#define MSVCRT__IORW 0x0080 +/* internal file._flag flags */ #define MSVCRT__USERBUF 0x0100 #define MSVCRT__IOCOMMIT 0x4000 diff --git a/include/msvcrt/stdio.h b/include/msvcrt/stdio.h index 12136cbe5ad..31b29953f18 100644 --- a/include/msvcrt/stdio.h +++ b/include/msvcrt/stdio.h @@ -31,6 +31,7 @@ #define EOF (-1) #define FILENAME_MAX 260 #define TMP_MAX 0x7fff +#define TMP_MAX_S 0x7fffffff #define FOPEN_MAX 20 #define L_tmpnam 260 -- 2.11.4.GIT