OLD | NEW |
1 #define _GNU_SOURCE | 1 #define _GNU_SOURCE |
2 #include <stdlib.h> | 2 #include <stdlib.h> |
3 #include <string.h> | 3 #include <string.h> |
4 #include <limits.h> | 4 #include <limits.h> |
5 #include <unistd.h> | 5 #include <unistd.h> |
6 #include <sys/stat.h> | 6 #include <sys/stat.h> |
7 | 7 |
8 char *get_current_dir_name(void) { | 8 char* get_current_dir_name(void) { |
9 » struct stat a, b; | 9 struct stat a, b; |
10 » char *res = getenv("PWD"); | 10 char* res = getenv("PWD"); |
11 » if (res && *res && !stat(res, &a) && !stat(".", &b) | 11 if (res && *res && !stat(res, &a) && !stat(".", &b) && |
12 » && (a.st_dev == b.st_dev) && (a.st_ino == b.st_ino)) | 12 (a.st_dev == b.st_dev) && (a.st_ino == b.st_ino)) |
13 » » return strdup(res); | 13 return strdup(res); |
14 » return getcwd(0, 0); | 14 return getcwd(0, 0); |
15 } | 15 } |
OLD | NEW |