projects
/
oweals
/
musl.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
optimize get_current_dir_name to reduce stack bloat
[oweals/musl.git]
/
src
/
misc
/
get_current_dir_name.c
1
#define _GNU_SOURCE
2
#include <stdlib.h>
3
#include <string.h>
4
#include <limits.h>
5
#include <unistd.h>
6
#include <sys/stat.h>
7
8
char *get_current_dir_name(void) {
9
struct stat a, b;
10
char *res = getenv("PWD");
11
if (res && *res && !stat(res, &a) && !stat(".", &b)
12
&& (a.st_dev == b.st_dev) && (a.st_ino == b.st_ino))
13
return strdup(res);
14
return getcwd(0, 0);
15
}