]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
updated examples
authorYann Collet <yann.collet.73@gmail.com>
Tue, 16 Aug 2016 23:48:43 +0000 (01:48 +0200)
committerYann Collet <yann.collet.73@gmail.com>
Tue, 16 Aug 2016 23:48:43 +0000 (01:48 +0200)
examples/streaming_compression.c
examples/streaming_decompression.c

index f99e040c06523b498172ed1a88fd98238eadb9da..e2568836ad5da5d08b858fcef9731ae411d31234 100644 (file)
@@ -93,18 +93,18 @@ static void compressFile_orDie(const char* fname, const char* outName, int cLeve
     if (ZSTD_isError(initResult)) { fprintf(stderr, "ZSTD_initCStream() error \n"); exit(11); }
 
     while( (read = fread_orDie(buffIn, toRead, fin)) ) {
-        ZSTD_rCursor cursin = { buffIn, read };
-        while (cursin.size) {
-            ZSTD_wCursor cursout = { buffOut, buffOutSize, 0 };
-            toRead = ZSTD_compressStream(cstream, &cursout , &cursin);
-            fwrite_orDie(buffOut, cursout.nbBytesWritten, fout);
+        ZSTD_inBuffer input = { buffIn, read, 0 };
+        while (input.pos < input.size) {
+            ZSTD_outBuffer output = { buffOut, buffOutSize, 0 };
+            toRead = ZSTD_compressStream(cstream, &output , &input);
+            fwrite_orDie(buffOut, output.pos, fout);
         }
     }
 
-    ZSTD_wCursor cursout = { buffOut, buffOutSize, 0 };
-    size_t const remainingToFlush = ZSTD_endStream(cstream, &cursout);
+    ZSTD_outBuffer output = { buffOut, buffOutSize, 0 };
+    size_t const remainingToFlush = ZSTD_endStream(cstream, &output);
     if (remainingToFlush) { fprintf(stderr, "not fully flushed"); exit(12); }
-    fwrite_orDie(buffOut, cursout.nbBytesWritten, fout);
+    fwrite_orDie(buffOut, output.pos, fout);
 
     fclose_orDie(fout);
     fclose_orDie(fin);
index 1176cabcb80d0c0bd6155bf9ac7fcb1bc919f1fa..a9efd7a2da4fdf874e5961901ea0c8e99064bb8c 100644 (file)
@@ -83,11 +83,12 @@ static void decompressFile_orDie(const char* fname)
     if (ZSTD_isError(initResult)) { fprintf(stderr, "ZSTD_initDStream() error \n"); exit(11); }
 
     while( (read = fread_orDie(buffIn, toRead, fin)) ) {
-        ZSTD_rCursor cursin = { buffIn, read };
-        while (cursin.size) {
-            ZSTD_wCursor cursout = { buffOut, buffOutSize, 0 };
-            toRead = ZSTD_decompressStream(dstream, &cursout , &cursin);
-            /* note : data is just "sinked" into buffOut */
+        ZSTD_inBuffer input = { buffIn, read, 0 };
+        while (input.pos < input.size) {
+            ZSTD_outBuffer output = { buffOut, buffOutSize, 0 };
+            toRead = ZSTD_decompressStream(dstream, &output , &input);
+            /* note : data is just "sinked" into buffOut
+               a more complete example would write it to disk or stdout */
         }
     }