Fix launching of externals from Unicode paths
commitfdccb3dc4c6e8d9ea9983427dc4fc70a13ed3cd5
authorAdam Roben <adam@roben.org>
Tue, 5 Jun 2012 14:24:11 +0000 (5 10:24 -0400)
committerJohannes Schindelin <johannes.schindelin@gmx.de>
Mon, 30 Dec 2013 01:18:07 +0000 (29 19:18 -0600)
treefc58e88c8530029241b2140cfa59b53a7d287dc6
parent69b9bd14b6b6f1dee609b7d2cc322ddaa6da0f6f
Fix launching of externals from Unicode paths

If Git were installed in a path containing non-ASCII characters,
commands such as git-am and git-submodule, which are implemented as
externals, would fail to launch with the following error:

> fatal: 'am' appears to be a git command, but we were not
> able to execute it. Maybe git-am is broken?

This was due to lookup_prog not being Unicode-aware. It was somehow
missed in 2ee5a1a14ad17ff35f0ad52390a27fbbc41258f3.

Note that the only problem in this function was calling
GetFileAttributes instead of GetFileAttributesW. The calls to access()
were fine because access() is a macro which resolves to mingw_access,
which already handles Unicode correctly. But I changed lookup_prog to
use _waccess directly so that we only convert the path to UTF-16 once.

Signed-off-by: Adam Roben <adam@roben.org>
compat/mingw.c