diff options
Diffstat (limited to 'mdk-stage1/dietlibc/libshell/realpath.c')
-rw-r--r-- | mdk-stage1/dietlibc/libshell/realpath.c | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/mdk-stage1/dietlibc/libshell/realpath.c b/mdk-stage1/dietlibc/libshell/realpath.c deleted file mode 100644 index 9aee2c585..000000000 --- a/mdk-stage1/dietlibc/libshell/realpath.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <limits.h> -#include <stdlib.h> -#include <errno.h> -#include <fcntl.h> -#include <string.h> -#include "dietfeatures.h" - -char* realpath(const char *path, char *resolved_path) { - int fd=open(".",O_RDONLY); - char* tmp=(char*)""; - if (fd<0) return 0; - if (chdir(path)) { - if (errno==ENOTDIR) { - char* match; - if ((match=strrchr(path,'/'))) { - tmp=match; - memmove(resolved_path,path,tmp-path); - resolved_path[tmp-path]=0; - if (chdir(resolved_path)) { resolved_path=0; goto abort; } - } - } else { - resolved_path=0; goto abort; - } - } - if (!getcwd(resolved_path,PATH_MAX)) { resolved_path=0; goto abort; } - strcat(resolved_path,tmp); -abort: - fchdir(fd); - close(fd); - return resolved_path; -} |