]>
Commit | Line | Data |
---|---|---|
67fcac56 CMN |
1 | /* |
2 | * Copyright (C) the libgit2 contributors. All rights reserved. | |
3 | * | |
4 | * This file is part of libgit2, distributed under the GNU GPL v2 with | |
5 | * a Linking Exception. For full terms see the included COPYING file. | |
6 | */ | |
eae0bfdc PP |
7 | |
8 | #include "common.h" | |
9 | ||
662f90e6 | 10 | #ifndef GIT_WIN32 |
67fcac56 CMN |
11 | |
12 | #include <limits.h> | |
13 | #include <stdlib.h> | |
14 | #include <fcntl.h> | |
15 | #include <unistd.h> | |
16 | ||
17 | char *p_realpath(const char *pathname, char *resolved) | |
18 | { | |
19 | char *ret; | |
67fcac56 CMN |
20 | if ((ret = realpath(pathname, resolved)) == NULL) |
21 | return NULL; | |
22 | ||
662f90e6 JG |
23 | #ifdef __OpenBSD__ |
24 | /* The OpenBSD realpath function behaves differently, | |
25 | * figure out if the file exists */ | |
26 | if (access(ret, F_OK) < 0) | |
27 | ret = NULL; | |
28 | #endif | |
29 | return ret; | |
67fcac56 CMN |
30 | } |
31 | ||
32 | #endif |