Merge branch 'externals-unicode-paths' of git://github.com/aroben/git into devel

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Johannes Schindelin
2012-06-05 13:11:18 -05:00

View File

@@ -981,14 +981,20 @@ static void free_path_split(char **path)
static char *lookup_prog(const char *dir, const char *cmd, int isexe, int exe_only) static char *lookup_prog(const char *dir, const char *cmd, int isexe, int exe_only)
{ {
char path[MAX_PATH]; char path[MAX_PATH];
wchar_t wpath[MAX_PATH];
snprintf(path, sizeof(path), "%s\\%s.exe", dir, cmd); snprintf(path, sizeof(path), "%s\\%s.exe", dir, cmd);
if (!isexe && access(path, F_OK) == 0) if (xutftowcs_path(wpath, path) < 0)
return NULL;
if (!isexe && _waccess(wpath, F_OK) == 0)
return xstrdup(path); return xstrdup(path);
path[strlen(path)-4] = '\0'; path[strlen(path)-4] = '\0';
if ((!exe_only || isexe) && access(path, F_OK) == 0) if ((!exe_only || isexe) && _waccess(wpath, F_OK) == 0) {
if (!(GetFileAttributes(path) & FILE_ATTRIBUTE_DIRECTORY))
if (!(GetFileAttributesW(wpath) & FILE_ATTRIBUTE_DIRECTORY))
return xstrdup(path); return xstrdup(path);
}
return NULL; return NULL;
} }