aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2012-10-28 17:16:22 +0100
committerJeff King <peff@peff.net>2012-10-29 02:34:58 -0400
commite3e46cdbd45c2e7383df9de1787e23489dc66dbc (patch)
treead73b04f0a16f9c707f26d20a41ce87dddc64502
parentd6052abca39fc84fed4f3248be042cfb6bf635d5 (diff)
downloadgit-e3e46cdbd45c2e7383df9de1787e23489dc66dbc.tar.gz
git-e3e46cdbd45c2e7383df9de1787e23489dc66dbc.tar.xz
Introduce new function real_path_if_valid()
The function is like real_path(), except that it returns NULL on error instead of dying. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Jeff King <peff@peff.net>
-rw-r--r--abspath.c5
-rw-r--r--cache.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/abspath.c b/abspath.c
index f8a526f39..40cdc4621 100644
--- a/abspath.c
+++ b/abspath.c
@@ -153,6 +153,11 @@ const char *real_path(const char *path)
return real_path_internal(path, 1);
}
+const char *real_path_if_valid(const char *path)
+{
+ return real_path_internal(path, 0);
+}
+
static const char *get_pwd_cwd(void)
{
static char cwd[PATH_MAX + 1];
diff --git a/cache.h b/cache.h
index a58df84bd..b0d75bcb0 100644
--- a/cache.h
+++ b/cache.h
@@ -714,6 +714,7 @@ static inline int is_absolute_path(const char *path)
}
int is_directory(const char *);
const char *real_path(const char *path);
+const char *real_path_if_valid(const char *path);
const char *absolute_path(const char *path);
const char *relative_path(const char *abs, const char *base);
int normalize_path_copy(char *dst, const char *src);