dont use f_frsize unless linux-2.6.0 or better

This commit is contained in:
Mike Frysinger 2005-06-29 01:07:04 +00:00
parent fc379ba077
commit 8804c6a3b7

View File

@ -32,9 +32,15 @@
#include <time.h> #include <time.h>
#include <getopt.h> #include <getopt.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/statfs.h>
#include <sys/statvfs.h>
#include <string.h> #include <string.h>
#include "busybox.h" #include "busybox.h"
#ifdef __linux__
# include <linux/version.h>
#endif
/* vars to control behavior */ /* vars to control behavior */
#define OPT_TERSE 2 #define OPT_TERSE 2
#define OPT_DEREFERNCE 4 #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)); printf(pformat, (unsigned long int) (statfsbuf->f_bsize));
break; break;
case 'S': { 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) if (!frsize)
frsize = statfsbuf->f_bsize; frsize = statfsbuf->f_bsize;
#else
frsize = statfsbuf->f_bsize;
#endif
strncat(pformat, "lu", buf_len); strncat(pformat, "lu", buf_len);
printf(pformat, frsize); printf(pformat, frsize);
break; break;