[pzstd] Fix compilation error in MinGW

This commit is contained in:
Nick Terrell 2020-05-22 22:26:02 -07:00
parent 52a62e46f5
commit 5aa5aa4df7
3 changed files with 17 additions and 17 deletions

View File

@ -13,10 +13,10 @@
namespace pzstd { namespace pzstd {
constexpr int ERROR = 1; constexpr int kLogError = 1;
constexpr int INFO = 2; constexpr int kLogInfo = 2;
constexpr int DEBUG = 3; constexpr int kLogDebug = 3;
constexpr int VERBOSE = 4; constexpr int kLogVerbose = 4;
class Logger { class Logger {
std::mutex mutex_; std::mutex mutex_;

View File

@ -94,12 +94,12 @@ static std::uint64_t handleOneInput(const Options &options,
if (!options.decompress) { if (!options.decompress) {
double ratio = static_cast<double>(bytesWritten) / double ratio = static_cast<double>(bytesWritten) /
static_cast<double>(bytesRead + !bytesRead); static_cast<double>(bytesRead + !bytesRead);
state.log(INFO, "%-20s :%6.2f%% (%6" PRIu64 " => %6" PRIu64 state.log(kLogInfo, "%-20s :%6.2f%% (%6" PRIu64 " => %6" PRIu64
" bytes, %s)\n", " bytes, %s)\n",
inputFileName.c_str(), ratio * 100, bytesRead, bytesWritten, inputFileName.c_str(), ratio * 100, bytesRead, bytesWritten,
outputFileName.c_str()); outputFileName.c_str());
} else { } else {
state.log(INFO, "%-20s: %" PRIu64 " bytes \n", state.log(kLogInfo, "%-20s: %" PRIu64 " bytes \n",
inputFileName.c_str(),bytesWritten); inputFileName.c_str(),bytesWritten);
} }
} }
@ -139,12 +139,12 @@ static FILE *openOutputFile(const Options &options,
auto outputFd = std::fopen(outputFile.c_str(), "rb"); auto outputFd = std::fopen(outputFile.c_str(), "rb");
if (outputFd != nullptr) { if (outputFd != nullptr) {
std::fclose(outputFd); std::fclose(outputFd);
if (!state.log.logsAt(INFO)) { if (!state.log.logsAt(kLogInfo)) {
state.errorHolder.setError("Output file exists"); state.errorHolder.setError("Output file exists");
return nullptr; return nullptr;
} }
state.log( state.log(
INFO, kLogInfo,
"pzstd: %s already exists; do you wish to overwrite (y/n) ? ", "pzstd: %s already exists; do you wish to overwrite (y/n) ? ",
outputFile.c_str()); outputFile.c_str());
int c = getchar(); int c = getchar();
@ -170,7 +170,7 @@ int pzstdMain(const Options &options) {
auto printErrorGuard = makeScopeGuard([&] { auto printErrorGuard = makeScopeGuard([&] {
if (state.errorHolder.hasError()) { if (state.errorHolder.hasError()) {
returnCode = 1; returnCode = 1;
state.log(ERROR, "pzstd: %s: %s.\n", input.c_str(), state.log(kLogError, "pzstd: %s: %s.\n", input.c_str(),
state.errorHolder.getError().c_str()); state.errorHolder.getError().c_str());
} }
}); });
@ -388,7 +388,7 @@ std::uint64_t asyncCompressChunks(
// Break the input up into chunks of size `step` and compress each chunk // Break the input up into chunks of size `step` and compress each chunk
// independently. // independently.
size_t step = calculateStep(size, numThreads, params); size_t step = calculateStep(size, numThreads, params);
state.log(DEBUG, "Chosen frame size: %zu\n", step); state.log(kLogDebug, "Chosen frame size: %zu\n", step);
auto status = FileStatus::Continue; auto status = FileStatus::Continue;
while (status == FileStatus::Continue && !state.errorHolder.hasError()) { while (status == FileStatus::Continue && !state.errorHolder.hasError()) {
// Make a new input queue that we will put the chunk's input data into. // Make a new input queue that we will put the chunk's input data into.
@ -403,7 +403,7 @@ std::uint64_t asyncCompressChunks(
}); });
// Pass the output queue to the writer thread. // Pass the output queue to the writer thread.
chunks.push(std::move(out)); chunks.push(std::move(out));
state.log(VERBOSE, "%s\n", "Starting a new frame"); state.log(kLogVerbose, "%s\n", "Starting a new frame");
// Fill the input queue for the compression job we just started // Fill the input queue for the compression job we just started
status = readData(*in, ZSTD_CStreamInSize(), step, fd, &bytesRead); status = readData(*in, ZSTD_CStreamInSize(), step, fd, &bytesRead);
} }
@ -540,14 +540,14 @@ std::uint64_t asyncDecompressFrames(
if (frameSize == 0) { if (frameSize == 0) {
// We hit a non SkippableFrame ==> not compressed by pzstd or corrupted // We hit a non SkippableFrame ==> not compressed by pzstd or corrupted
// Pass the rest of the source to this decompression task // Pass the rest of the source to this decompression task
state.log(VERBOSE, "%s\n", state.log(kLogVerbose, "%s\n",
"Input not in pzstd format, falling back to serial decompression"); "Input not in pzstd format, falling back to serial decompression");
while (status == FileStatus::Continue && !state.errorHolder.hasError()) { while (status == FileStatus::Continue && !state.errorHolder.hasError()) {
status = readData(*in, chunkSize, chunkSize, fd, &totalBytesRead); status = readData(*in, chunkSize, chunkSize, fd, &totalBytesRead);
} }
break; break;
} }
state.log(VERBOSE, "Decompressing a frame of size %zu", frameSize); state.log(kLogVerbose, "Decompressing a frame of size %zu", frameSize);
// Fill the input queue for the decompression job we just started // Fill the input queue for the decompression job we just started
status = readData(*in, chunkSize, frameSize, fd, &totalBytesRead); status = readData(*in, chunkSize, frameSize, fd, &totalBytesRead);
} }
@ -573,7 +573,7 @@ std::uint64_t writeFile(
bool decompress) { bool decompress) {
auto& errorHolder = state.errorHolder; auto& errorHolder = state.errorHolder;
auto lineClearGuard = makeScopeGuard([&state] { auto lineClearGuard = makeScopeGuard([&state] {
state.log.clear(INFO); state.log.clear(kLogInfo);
}); });
std::uint64_t bytesWritten = 0; std::uint64_t bytesWritten = 0;
std::shared_ptr<BufferWorkQueue> out; std::shared_ptr<BufferWorkQueue> out;
@ -602,7 +602,7 @@ std::uint64_t writeFile(
return bytesWritten; return bytesWritten;
} }
bytesWritten += buffer.size(); bytesWritten += buffer.size();
state.log.update(INFO, "Written: %u MB ", state.log.update(kLogInfo, "Written: %u MB ",
static_cast<std::uint32_t>(bytesWritten >> 20)); static_cast<std::uint32_t>(bytesWritten >> 20));
} }
} }

View File

@ -41,7 +41,7 @@ class SharedState {
auto parameters = options.determineParameters(); auto parameters = options.determineParameters();
cStreamPool.reset(new ResourcePool<ZSTD_CStream>{ cStreamPool.reset(new ResourcePool<ZSTD_CStream>{
[this, parameters]() -> ZSTD_CStream* { [this, parameters]() -> ZSTD_CStream* {
this->log(VERBOSE, "%s\n", "Creating new ZSTD_CStream"); this->log(kLogVerbose, "%s\n", "Creating new ZSTD_CStream");
auto zcs = ZSTD_createCStream(); auto zcs = ZSTD_createCStream();
if (zcs) { if (zcs) {
auto err = ZSTD_initCStream_advanced( auto err = ZSTD_initCStream_advanced(
@ -59,7 +59,7 @@ class SharedState {
} else { } else {
dStreamPool.reset(new ResourcePool<ZSTD_DStream>{ dStreamPool.reset(new ResourcePool<ZSTD_DStream>{
[this]() -> ZSTD_DStream* { [this]() -> ZSTD_DStream* {
this->log(VERBOSE, "%s\n", "Creating new ZSTD_DStream"); this->log(kLogVerbose, "%s\n", "Creating new ZSTD_DStream");
auto zds = ZSTD_createDStream(); auto zds = ZSTD_createDStream();
if (zds) { if (zds) {
auto err = ZSTD_initDStream(zds); auto err = ZSTD_initDStream(zds);