diff options
Diffstat (limited to 'src/unix/realpath.c')
-rw-r--r-- | src/unix/realpath.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/unix/realpath.c b/src/unix/realpath.c new file mode 100644 index 000000000..f382c2b73 --- /dev/null +++ b/src/unix/realpath.c @@ -0,0 +1,30 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#include <git2/common.h> + +#ifdef __OpenBSD__ + +#include <limits.h> +#include <stdlib.h> +#include <fcntl.h> +#include <unistd.h> + +char *p_realpath(const char *pathname, char *resolved) +{ + char *ret; + + if ((ret = realpath(pathname, resolved)) == NULL) + return NULL; + + /* Figure out if the file exists */ + if (!access(ret, F_OK)) + ret; + + return NULL; +} + +#endif |