| /* |
| * 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> |
| |
| #ifndef GIT_WIN32 |
| |
| #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; |
| |
| #ifdef __OpenBSD__ |
| /* The OpenBSD realpath function behaves differently, |
| * figure out if the file exists */ |
| if (access(ret, F_OK) < 0) |
| ret = NULL; |
| #endif |
| return ret; |
| } |
| |
| #endif |