Commit eb6db16d by Sven Strickroth

GetFileAttributes does not work for utf-8 encoded paths

Signed-off-by: Sven Strickroth <email@cs-ware.de>
parent 31e80290
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "posix.h" #include "posix.h"
#ifdef GIT_WIN32 #ifdef GIT_WIN32
#include "win32/dir.h" #include "win32/dir.h"
#include "win32/posix.h"
#else #else
#include <dirent.h> #include <dirent.h>
#endif #endif
...@@ -362,20 +363,11 @@ int git_path_exists(const char *path) ...@@ -362,20 +363,11 @@ int git_path_exists(const char *path)
int git_path_isdir(const char *path) int git_path_isdir(const char *path)
{ {
#ifdef GIT_WIN32
DWORD attr = GetFileAttributes(path);
if (attr == INVALID_FILE_ATTRIBUTES)
return GIT_ERROR;
return (attr & FILE_ATTRIBUTE_DIRECTORY) ? GIT_SUCCESS : GIT_ERROR;
#else
struct stat st; struct stat st;
if (p_stat(path, &st) < GIT_SUCCESS) if (p_stat(path, &st) < GIT_SUCCESS)
return GIT_ERROR; return GIT_ERROR;
return S_ISDIR(st.st_mode) ? GIT_SUCCESS : GIT_ERROR; return S_ISDIR(st.st_mode) ? GIT_SUCCESS : GIT_ERROR;
#endif
} }
int git_path_isfile(const char *path) int git_path_isfile(const char *path)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment