From: Paul Cruz Date: Wed, 19 Jul 2017 21:54:15 +0000 (-0700) Subject: fixing error when file size is multiple of job size (in which case, the srcSize of... X-Git-Tag: v1.3.1^2~13^2^2~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6767abe65273056289e431c5454b937b13bc34bc;p=thirdparty%2Fzstd.git fixing error when file size is multiple of job size (in which case, the srcSize of the last job is 0) --- diff --git a/contrib/adaptive-compression/adapt.c b/contrib/adaptive-compression/adapt.c index d572ee191..dcaf3aeff 100644 --- a/contrib/adaptive-compression/adapt.c +++ b/contrib/adaptive-compression/adapt.c @@ -450,7 +450,7 @@ static void* compressionThread(void* arg) /* reset compressed size */ job->compressedSize = 0; - while (remaining != 0) { + do { size_t const actualBlockSize = MIN(remaining, compressionBlockSize); DEBUG(2, "remaining: %zu\n", remaining); DEBUG(2, "actualBlockSize: %zu\n", actualBlockSize); @@ -505,7 +505,7 @@ static void* compressionThread(void* arg) } pthread_mutex_unlock(&ctx->completion_mutex.pMutex); } - } + } while (remaining != 0); job->dst.size = job->compressedSize; } pthread_mutex_lock(&ctx->jobCompressed_mutex.pMutex);