diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/path.c | 11 | ||||
| -rw-r--r-- | src/path.h | 6 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/path.c b/src/path.c index cb11acee3..72cb289e0 100644 --- a/src/path.c +++ b/src/path.c @@ -526,6 +526,17 @@ bool git_path_isfile(const char *path) return S_ISREG(st.st_mode) != 0; } +bool git_path_islink(const char *path) +{ + struct stat st; + + assert(path); + if (p_lstat(path, &st) < 0) + return false; + + return S_ISLNK(st.st_mode) != 0; +} + #ifdef GIT_WIN32 bool git_path_is_empty_dir(const char *path) diff --git a/src/path.h b/src/path.h index 971603ea7..c76e90343 100644 --- a/src/path.h +++ b/src/path.h @@ -169,6 +169,12 @@ extern bool git_path_isdir(const char *path); extern bool git_path_isfile(const char *path); /** + * Check if the given path points to a symbolic link. + * @return true or false + */ +extern bool git_path_islink(const char *path); + +/** * Check if the given path is a directory, and is empty. */ extern bool git_path_is_empty_dir(const char *path); |
