From: Michael Wookey <michaelwookey@gmail.com>
To: git@vger.kernel.org
Subject: [PATCH] compat/mingw.c: MSVC build must use ANSI Win32 API's
Date: Tue, 22 Sep 2009 14:10:18 +1000 [thread overview]
Message-ID: <d2e97e800909212110w423e3b2fm85ac6f76439e0591@mail.gmail.com> (raw)
MSVC builds define UNICODE which results in the "WIDE" variation of
Win32 API's being used.
Explicitly use the ANSI variation of the API's for compatibility with
msysgit.
Signed-off-by: Michael Wookey <michaelwookey@gmail.com>
---
compat/mingw.c | 26 +++++++++++++-------------
1 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/compat/mingw.c b/compat/mingw.c
index 6b5b5b2..39be42f 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -135,7 +135,7 @@ int mingw_open (const char *filename, int oflags, ...)
fd = open(filename, oflags, mode);
if (fd < 0 && (oflags & O_CREAT) && errno == EACCES) {
- DWORD attrs = GetFileAttributes(filename);
+ DWORD attrs = GetFileAttributesA(filename);
if (attrs != INVALID_FILE_ATTRIBUTES && (attrs & FILE_ATTRIBUTE_DIRECTORY))
errno = EISDIR;
}
@@ -607,7 +607,7 @@ static char *lookup_prog(const char *dir, const
char *cmd, int isexe, int exe_on
return xstrdup(path);
path[strlen(path)-4] = '\0';
if ((!exe_only || isexe) && access(path, F_OK) == 0)
- if (!(GetFileAttributes(path) & FILE_ATTRIBUTE_DIRECTORY))
+ if (!(GetFileAttributesA(path) & FILE_ATTRIBUTE_DIRECTORY))
return xstrdup(path);
return NULL;
}
@@ -641,14 +641,14 @@ static int env_compare(const void *a, const void *b)
static pid_t mingw_spawnve(const char *cmd, const char **argv, char **env,
int prepend_cmd)
{
- STARTUPINFO si;
+ STARTUPINFOA si;
PROCESS_INFORMATION pi;
struct strbuf envblk, args;
unsigned flags;
BOOL ret;
/* Determine whether or not we are associated to a console */
- HANDLE cons = CreateFile("CONOUT$", GENERIC_WRITE,
+ HANDLE cons = CreateFileA("CONOUT$", GENERIC_WRITE,
FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
if (cons == INVALID_HANDLE_VALUE) {
@@ -717,7 +717,7 @@ static pid_t mingw_spawnve(const char *cmd, const
char **argv, char **env,
}
memset(&pi, 0, sizeof(pi));
- ret = CreateProcess(cmd, args.buf, NULL, NULL, TRUE, flags,
+ ret = CreateProcessA(cmd, args.buf, NULL, NULL, TRUE, flags,
env ? envblk.buf : NULL, NULL, &si, &pi);
if (env)
@@ -965,23 +965,23 @@ int mingw_rename(const char *pold, const char *pnew)
if (errno != EEXIST)
return -1;
repeat:
- if (MoveFileEx(pold, pnew, MOVEFILE_REPLACE_EXISTING))
+ if (MoveFileExA(pold, pnew, MOVEFILE_REPLACE_EXISTING))
return 0;
/* TODO: translate more errors */
gle = GetLastError();
if (gle == ERROR_ACCESS_DENIED &&
- (attrs = GetFileAttributes(pnew)) != INVALID_FILE_ATTRIBUTES) {
+ (attrs = GetFileAttributesA(pnew)) != INVALID_FILE_ATTRIBUTES) {
if (attrs & FILE_ATTRIBUTE_DIRECTORY) {
errno = EISDIR;
return -1;
}
if ((attrs & FILE_ATTRIBUTE_READONLY) &&
- SetFileAttributes(pnew, attrs & ~FILE_ATTRIBUTE_READONLY)) {
- if (MoveFileEx(pold, pnew, MOVEFILE_REPLACE_EXISTING))
+ SetFileAttributesA(pnew, attrs & ~FILE_ATTRIBUTE_READONLY)) {
+ if (MoveFileExA(pold, pnew, MOVEFILE_REPLACE_EXISTING))
return 0;
gle = GetLastError();
/* revert file attributes on failure */
- SetFileAttributes(pnew, attrs);
+ SetFileAttributesA(pnew, attrs);
}
}
if (tries < ARRAY_SIZE(delay) && gle == ERROR_ACCESS_DENIED) {
@@ -1006,7 +1006,7 @@ struct passwd *getpwuid(int uid)
static struct passwd p;
DWORD len = sizeof(user_name);
- if (!GetUserName(user_name, &len))
+ if (!GetUserNameA(user_name, &len))
return NULL;
p.pw_name = user_name;
p.pw_gecos = "unknown";
@@ -1151,7 +1151,7 @@ void mingw_open_html(const char *unixpath)
{
const char *htmlpath = make_backslash_path(unixpath);
printf("Launching default browser to display HTML ...\n");
- ShellExecute(NULL, "open", htmlpath, NULL, "\\", 0);
+ ShellExecuteA(NULL, "open", htmlpath, NULL, "\\", 0);
}
int link(const char *oldpath, const char *newpath)
@@ -1160,7 +1160,7 @@ int link(const char *oldpath, const char *newpath)
static T create_hard_link = NULL;
if (!create_hard_link) {
create_hard_link = (T) GetProcAddress(
- GetModuleHandle("kernel32.dll"), "CreateHardLinkA");
+ GetModuleHandleA("kernel32.dll"), "CreateHardLinkA");
if (!create_hard_link)
create_hard_link = (T)-1;
}
--
1.6.5.rc1.44.ga1675
next reply other threads:[~2009-09-22 4:10 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-22 4:10 Michael Wookey [this message]
2009-09-22 6:08 ` [PATCH] compat/mingw.c: MSVC build must use ANSI Win32 API's Johannes Sixt
2009-09-22 7:23 ` Marius Storm-Olsen
2009-09-22 9:17 ` Michael Wookey
2009-09-22 9:40 ` Marius Storm-Olsen
2009-09-22 9:54 ` Michael Wookey
2009-09-23 4:43 ` Michael Wookey
2009-09-28 6:45 ` Johannes Sixt
2009-09-28 7:47 ` Michael Wookey
2009-09-28 8:10 ` Johannes Sixt
2009-09-28 9:50 ` Michael Wookey
2009-09-28 9:55 ` Michael Wookey
2009-09-28 10:21 ` Marius Storm-Olsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d2e97e800909212110w423e3b2fm85ac6f76439e0591@mail.gmail.com \
--to=michaelwookey@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).