mirror of
https://github.com/git/git.git
synced 2024-10-01 02:32:27 +02:00
a822fb853a
This constant is not defined in MSVC's headers. In UCRT's fcntl.h, _O_RDONLY, _O_WRONLY and _O_RDWR are defined as 0, 1 and 2, respectively. Yes, that means that UCRT breaks with the tradition that O_RDWR == O_RDONLY | O_WRONLY. It is a perfectly legal way to define those constants, though, therefore we need to take care of defining O_ACCMODE accordingly. This is particularly important in order to keep our "open() can set errno to EISDIR" emulation working: it tests that (flags & O_ACCMODE) is not identical to O_RDONLY before going on to test specifically whether the file for which open() reported EACCES is, in fact, a directory. Signed-off-by: Philip Oakley <philipoakley@iee.org> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
28 lines
560 B
C
28 lines
560 B
C
#ifndef __MSVC__HEAD
|
|
#define __MSVC__HEAD
|
|
|
|
#include <direct.h>
|
|
#include <process.h>
|
|
#include <malloc.h>
|
|
#include <io.h>
|
|
|
|
/* porting function */
|
|
#define inline __inline
|
|
#define __inline__ __inline
|
|
#define __attribute__(x)
|
|
#define strcasecmp _stricmp
|
|
#define strncasecmp _strnicmp
|
|
#define ftruncate _chsize
|
|
#define strtoull _strtoui64
|
|
#define strtoll _strtoi64
|
|
|
|
#undef ERROR
|
|
|
|
typedef int sigset_t;
|
|
/* open for reading, writing, or both (not in fcntl.h) */
|
|
#define O_ACCMODE (_O_RDONLY | _O_WRONLY | _O_RDWR)
|
|
|
|
#include "compat/mingw.h"
|
|
|
|
#endif
|