diff --git a/coreutils/stat.c b/coreutils/stat.c index 33f01deb0..b41e1d3be 100644 --- a/coreutils/stat.c +++ b/coreutils/stat.c @@ -32,9 +32,15 @@ #include #include #include +#include +#include #include #include "busybox.h" +#ifdef __linux__ +# include +#endif + /* vars to control behavior */ #define OPT_TERSE 2 #define OPT_DEREFERNCE 4 @@ -172,9 +178,14 @@ static void print_statfs(char *pformat, size_t buf_len, char m, printf(pformat, (unsigned long int) (statfsbuf->f_bsize)); break; case 'S': { - unsigned long int frsize = statfsbuf->f_frsize; + unsigned long int frsize; +#if defined(__linux__) && LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + frsize = statfsbuf->f_frsize; if (!frsize) frsize = statfsbuf->f_bsize; +#else + frsize = statfsbuf->f_bsize; +#endif strncat(pformat, "lu", buf_len); printf(pformat, frsize); break;