From: Nick Terrell Date: Sun, 11 Dec 2016 07:17:36 +0000 (-0800) Subject: Fix longmatch test build errors. X-Git-Tag: v1.1.2~15^2 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F474%2Fhead;p=thirdparty%2Fzstd.git Fix longmatch test build errors. --- diff --git a/tests/longmatch.c b/tests/longmatch.c index 46dcbc77a..c75c0d18e 100644 --- a/tests/longmatch.c +++ b/tests/longmatch.c @@ -6,29 +6,35 @@ #include #include -void compress(ZSTD_CStream *ctx, ZSTD_outBuffer out, const void *data, size_t size) { +int compress(ZSTD_CStream *ctx, ZSTD_outBuffer out, const void *data, size_t size) { ZSTD_inBuffer in = { data, size, 0 }; while (in.pos < in.size) { ZSTD_outBuffer tmp = out; const size_t rc = ZSTD_compressStream(ctx, &tmp, &in); if (ZSTD_isError(rc)) { - exit(5); + return 1; } } - ZSTD_outBuffer tmp = out; - const size_t rc = ZSTD_flushStream(ctx, &tmp); - if (rc != 0) { exit(6); } + { + ZSTD_outBuffer tmp = out; + const size_t rc = ZSTD_flushStream(ctx, &tmp); + if (rc != 0) { return 1; } + } + return 0; } -int main() { +int main(int argc, const char** argv) { ZSTD_CStream *ctx; - ZSTD_parameters params = {}; + ZSTD_parameters params; size_t rc; unsigned windowLog; + (void)argc; + (void)argv; /* Create stream */ ctx = ZSTD_createCStream(); if (!ctx) { return 1; } /* Set parameters */ + memset(¶ms, 0, sizeof(params)); params.cParams.windowLog = 18; params.cParams.chainLog = 13; params.cParams.hashLog = 14; @@ -50,25 +56,31 @@ int main() { ZSTD_outBuffer out = { dstBuffer, ZSTD_compressBound(1 << windowLog), 0 }; const char match[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; const size_t randomData = (1 << windowLog) - 2*sizeof(match); - for (size_t i = 0; i < sizeof(match); ++i) { + size_t i; + for (i = 0; i < sizeof(match); ++i) { srcBuffer[i] = match[i]; } - for (size_t i = 0; i < randomData; ++i) { + for (i = 0; i < randomData; ++i) { srcBuffer[sizeof(match) + i] = (char)(rand() & 0xFF); } - for (size_t i = 0; i < sizeof(match); ++i) { + for (i = 0; i < sizeof(match); ++i) { srcBuffer[sizeof(match) + randomData + i] = match[i]; } - compress(ctx, out, srcBuffer, size); + if (compress(ctx, out, srcBuffer, size)) { + return 1; + } compressed += size; while (compressed < toCompress) { const size_t block = rand() % (size - pos + 1); if (pos == size) { pos = 0; } - compress(ctx, out, srcBuffer + pos, block); + if (compress(ctx, out, srcBuffer + pos, block)) { + return 1; + } pos += block; compressed += block; } free(srcBuffer); free(dstBuffer); } + return 0; }