On 06/14/14 01:23, Grazvydas Ignotas wrote:
dlls/msvcrt/file.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c index 7523bbb..d6fb9ef 100644 --- a/dlls/msvcrt/file.c +++ b/dlls/msvcrt/file.c @@ -3641,6 +3641,17 @@ MSVCRT_wchar_t * CDECL MSVCRT_fgetws(MSVCRT_wchar_t *s, int size, MSVCRT_FILE* f return buf_start; }
+static inline int msvcrt_set_write_direction(MSVCRT_FILE* file) +{
- if(!(file->_flag & MSVCRT__IOWRT)) {
if(file->_flag & MSVCRT__IORW)
file->_flag |= MSVCRT__IOWRT;
else
return MSVCRT_EOF;
- }
- return 0;
+}
I don't see a good reason for making this code reusable. The code is used to inform how the buffer is used (if it's used for writing or reading). This means that it doesn't make sense to set it if buffer is not used. The only valid use of it I can see in wine sources is _flsbuf.
I've wrote a test that shows that _IOWRT flag is not set if _bufsiz==0 or in the case you're implementing. You can see it's code and result on windows here: https://testbot.winehq.org/JobDetails.pl?Key=7552