From: norbert.bizet Date: Wed, 5 Apr 2023 16:13:25 +0000 (-0400) Subject: implement fs_get_free_space for win32 X-Git-Tag: Beta-15.0.0~201 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a9dbfd3fef62750747332245fe2b45b0f5e0091b;p=thirdparty%2Fbacula.git implement fs_get_free_space for win32 --- diff --git a/bacula/src/lib/bsys.c b/bacula/src/lib/bsys.c index 45ccf210b..4c1b848cb 100644 --- a/bacula/src/lib/bsys.c +++ b/bacula/src/lib/bsys.c @@ -1301,7 +1301,15 @@ void gdb_print_local(int level) {} int fs_get_free_space(const char *path, int64_t *freeval, int64_t *totalval) { -#if defined(HAVE_SYS_STATVFS_H) || !defined(HAVE_WIN32) +#if defined(HAVE_WIN32) + BOOL ret = GetDiskFreeSpaceExA(path, NULL, (PULARGE_INTEGER)totalval, (PULARGE_INTEGER)freeval); + if (ret) { + return 0; + } else { + return -1; + } + +#elif defined(HAVE_SYS_STATVFS_H) || !defined(HAVE_WIN32) struct statvfs st; if (statvfs(path, &st) == 0) {