From 1c69d6c78836dbd961c703e2f9df6104be4295f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Sun, 20 Nov 2022 19:43:02 +0800 Subject: [PATCH] Disk: use statvfs64 only when __USE_LARGEFILE64 is defined --- src/detection/disk/disk_linux.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/detection/disk/disk_linux.c b/src/detection/disk/disk_linux.c index 941c77957..8abfbdf20 100644 --- a/src/detection/disk/disk_linux.c +++ b/src/detection/disk/disk_linux.c @@ -73,9 +73,15 @@ void ffDetectDisksImpl(FFDiskResult* disks) #endif //Detects stats - struct statvfs64 fs; - if(statvfs64(disk->mountpoint.chars, &fs) != 0) - memset(&fs, 0, sizeof(struct statvfs64)); //Set all values to 0, so our values get initialized to 0 too + #ifdef __USE_LARGEFILE64 + struct statvfs64 fs; + if(statvfs64(disk->mountpoint.chars, &fs) != 0) + memset(&fs, 0, sizeof(struct statvfs64)); //Set all values to 0, so our values get initialized to 0 too + #else + struct statvfs fs; + if(statvfs(disk->mountpoint.chars, &fs) != 0) + memset(&fs, 0, sizeof(struct statvfs)); //Set all values to 0, so our values get initialized to 0 too + #endif disk->bytesTotal = fs.f_blocks * fs.f_frsize; disk->bytesUsed = disk->bytesTotal - (fs.f_bavail * fs.f_frsize);