am 648f2011: Merge "Replace HAVE_MS_C_RUNTIME with _WIN32 in build."

* commit '648f2011a6fcf1fcb4a67b5d49a1c9d29877bc17':
  Replace HAVE_MS_C_RUNTIME with _WIN32 in build.
This commit is contained in:
Elliott Hughes 2015-08-17 20:31:52 +00:00 committed by Android Git Automerger
commit a9a433bdcd

View file

@ -24,11 +24,8 @@
#include <errno.h>
#include <assert.h>
#ifdef HAVE_MS_C_RUNTIME
# define mkdir(path,mode) _mkdir(path)
#endif
#if defined(_WIN32)
# define mkdir(path,mode) _mkdir(path)
# define S_ISLNK(s) 0
# define lstat stat
# ifndef EACCESS /* seems to be missing from the Mingw headers */
@ -183,7 +180,7 @@ static int setPermissions(const char* dst, const struct stat* pSrcStat, unsigned
DBUG(("--- unable to set perms on '%s' to 0%o: %s\n",
dst, pSrcStat->st_mode & ~(S_IFMT), strerror(errno)));
}
#ifndef HAVE_MS_C_RUNTIME
#ifndef _WIN32
/*
* Set the owner.
*/
@ -261,7 +258,7 @@ static int copyRegular(const char* src, const char* dst, const struct stat* pSrc
/* if "force" is set, try removing the destination file and retry */
if (options & COPY_FORCE) {
if (unlink(dst) != 0) {
#ifdef HAVE_MS_C_RUNTIME
#ifdef _WIN32
/* MSVCRT.DLL unlink will fail with EACCESS if the file is set read-only */
/* so try to change its mode, and unlink again */
if (errno == EACCESS) {
@ -274,7 +271,7 @@ static int copyRegular(const char* src, const char* dst, const struct stat* pSrc
(void) close(srcFd);
return -1;
}
#ifdef HAVE_MS_C_RUNTIME
#ifdef _WIN32
Open_File:
#endif
dstFd = open(dst, O_CREAT | O_TRUNC | O_WRONLY | O_BINARY, 0644);