diff options
-rw-r--r-- | libc/misc/statfs/Makefile | 4 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/getdirname.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/libc/misc/statfs/Makefile b/libc/misc/statfs/Makefile index fea23d741..4da855b28 100644 --- a/libc/misc/statfs/Makefile +++ b/libc/misc/statfs/Makefile @@ -22,7 +22,11 @@ TOPDIR=../../../ include $(TOPDIR)Rules.mak +ifeq ($(strip $(__UCLIBC_HAVE_LFS__)),true) CSRC = fstatfs64.c statfs64.c statvfs.c statvfs64.c fstatvfs.c fstatvfs64.c +else +CSRC = statvfs.c fstatvfs.c +endif COBJS=$(patsubst %.c,%.o, $(CSRC)) OBJS=$(COBJS) diff --git a/libc/sysdeps/linux/common/getdirname.c b/libc/sysdeps/linux/common/getdirname.c index a9ce43f30..0d1dd8301 100644 --- a/libc/sysdeps/linux/common/getdirname.c +++ b/libc/sysdeps/linux/common/getdirname.c @@ -30,12 +30,21 @@ char * get_current_dir_name (void) { char *pwd; +#ifdef __USE_LARGEFILE64 struct stat64 dotstat, pwdstat; +#else + struct stat dotstat, pwdstat; +#endif pwd = getenv ("PWD"); if (pwd != NULL +#ifdef __USE_LARGEFILE64 && stat64 (".", &dotstat) == 0 && stat64 (pwd, &pwdstat) == 0 +#else + && stat (".", &dotstat) == 0 + && stat (pwd, &pwdstat) == 0 +#endif && pwdstat.st_dev == dotstat.st_dev && pwdstat.st_ino == dotstat.st_ino) /* The PWD value is correct. Use it. */ |