fix for linux building
This commit is contained in:
parent
6ea26c7b80
commit
080f617442
|
@ -8,7 +8,8 @@ aux_source_directory(${PROJECT_SOURCE_DIR} DIR_SRCS)
|
||||||
file(GLOB DIR_HEADS "${PROJECT_SOURCE_DIR}/*.h" "${PROJECT_SOURCE_DIR}/*.hpp"
|
file(GLOB DIR_HEADS "${PROJECT_SOURCE_DIR}/*.h" "${PROJECT_SOURCE_DIR}/*.hpp"
|
||||||
"${PROJECT_SOURCE_DIR}/user-opt/*.h" "${PROJECT_SOURCE_DIR}/user-opt/*.cpp"
|
"${PROJECT_SOURCE_DIR}/user-opt/*.h" "${PROJECT_SOURCE_DIR}/user-opt/*.cpp"
|
||||||
"${PROJECT_SOURCE_DIR}/imgproc-pak/*.h" "${PROJECT_SOURCE_DIR}/imgproc-pak/*.cpp"
|
"${PROJECT_SOURCE_DIR}/imgproc-pak/*.h" "${PROJECT_SOURCE_DIR}/imgproc-pak/*.cpp"
|
||||||
"${PROJECT_SOURCE_DIR}/../../sdk/hginclude/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/hginclude/*.cpp"
|
"${PROJECT_SOURCE_DIR}/scanner/*.h" "${PROJECT_SOURCE_DIR}/scanner/*.cpp"
|
||||||
|
"${PROJECT_SOURCE_DIR}/../../sdk/base/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/base/*.cpp"
|
||||||
"${PROJECT_SOURCE_DIR}/../../sdk/json/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/json/*.c*"
|
"${PROJECT_SOURCE_DIR}/../../sdk/json/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/json/*.c*"
|
||||||
"${PROJECT_SOURCE_DIR}/../../sdk/imgprc/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/imgprc/*.c*"
|
"${PROJECT_SOURCE_DIR}/../../sdk/imgprc/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/imgprc/*.c*"
|
||||||
"${PROJECT_SOURCE_DIR}/../../sdk/sane_opt_json/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/sane_opt_json/*.c*"
|
"${PROJECT_SOURCE_DIR}/../../sdk/sane_opt_json/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/sane_opt_json/*.c*"
|
||||||
|
|
|
@ -4,46 +4,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#if defined(WIN32) || defined(_WIN64)
|
#if defined(WIN32) || defined(_WIN64)
|
||||||
#include <Windows.h>
|
|
||||||
|
|
||||||
namespace sys_util
|
|
||||||
{
|
|
||||||
int get_disk_size(const char* path, uint64_t* total, uint64_t* avail, uint64_t* blocksize)
|
|
||||||
{
|
|
||||||
std::string disk(path);
|
|
||||||
size_t pos = disk.find("\\");
|
|
||||||
DWORD spc = 0, bps = 0, avc = 0, tot = 0;
|
|
||||||
|
|
||||||
if (pos++ != std::string::npos)
|
|
||||||
disk.erase(pos);
|
|
||||||
if (GetDiskFreeSpaceA(disk.c_str(), &spc, &bps, &avc, &tot))
|
|
||||||
{
|
|
||||||
if (total)
|
|
||||||
{
|
|
||||||
*total = tot;
|
|
||||||
*total *= bps * spc;
|
|
||||||
}
|
|
||||||
if (avail)
|
|
||||||
{
|
|
||||||
*avail = avc;
|
|
||||||
*avail *= bps * spc;
|
|
||||||
}
|
|
||||||
if (blocksize)
|
|
||||||
{
|
|
||||||
*blocksize = bps;
|
|
||||||
*blocksize *= spc;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return GetLastError();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else
|
#else
|
||||||
#include "common/sys_util.h"
|
|
||||||
#include <sys/fcntl.h>
|
#include <sys/fcntl.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -199,7 +160,7 @@ int file_saver::open(const char* path, uint64_t size, const char* check)
|
||||||
{
|
{
|
||||||
uint64_t space = 0;
|
uint64_t space = 0;
|
||||||
|
|
||||||
err = sys_util::get_disk_size(path, nullptr, &space, nullptr);
|
err = utils::get_disk_space(path, nullptr, &space, nullptr);
|
||||||
if (err || space < size * 1.5)
|
if (err || space < size * 1.5)
|
||||||
{
|
{
|
||||||
fclose(dst_);
|
fclose(dst_);
|
||||||
|
|
Loading…
Reference in New Issue