]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
syncio interface only enabled when compression is enabled 4517/head
authorYann Collet <cyan@fb.com>
Sun, 26 Oct 2025 16:48:45 +0000 (09:48 -0700)
committerYann Collet <cyan@fb.com>
Sun, 26 Oct 2025 16:48:45 +0000 (09:48 -0700)
programs/fileio.c

index eb489d21098d83776f4909eddbe3ab2cb1eea4c6..4000c5b62f49ad8bd3ef228f8f56ccdf3afaac8f 100644 (file)
 FIO_display_prefs_t g_display_prefs = {2, FIO_ps_auto};
 UTIL_time_t g_displayClock = UTIL_TIME_INITIALIZER;
 
-/* *************************************
-*  Synchronous compression IO helpers
-*  Lightweight wrapper used by compression paths to manage buffered
-*  reads/writes without the async job machinery.
-***************************************/
-typedef struct {
-    const FIO_prefs_t* prefs;
-    FILE* srcFile;
-    FILE* dstFile;
-    unsigned storedSkips;
-    U8* inBuffer;
-    size_t inCapacity;
-    U8* srcBuffer;
-    size_t srcBufferLoaded;
-    U8* outBuffer;
-    size_t outCapacity;
-} FIO_SyncCompressIO;
-
-static void FIO_SyncCompressIO_init(FIO_SyncCompressIO* io,
-                                    const FIO_prefs_t* prefs,
-                                    size_t inCapacity,
-                                    size_t outCapacity);
-static void FIO_SyncCompressIO_destroy(FIO_SyncCompressIO* io);
-static void FIO_SyncCompressIO_setSrc(FIO_SyncCompressIO* io, FILE* file);
-static void FIO_SyncCompressIO_clearSrc(FIO_SyncCompressIO* io);
-static void FIO_SyncCompressIO_setDst(FIO_SyncCompressIO* io, FILE* file);
-static int  FIO_SyncCompressIO_closeDst(FIO_SyncCompressIO* io);
-static size_t FIO_SyncCompressIO_fillBuffer(FIO_SyncCompressIO* io, size_t minToHave);
-static void FIO_SyncCompressIO_consumeBytes(FIO_SyncCompressIO* io, size_t n);
-static void FIO_SyncCompressIO_commitOut(FIO_SyncCompressIO* io, const void* buffer, size_t size);
-static void FIO_SyncCompressIO_finish(FIO_SyncCompressIO* io);
-
 #define ZSTD_STATIC_LINKING_ONLY   /* ZSTD_magicNumber, ZSTD_frameHeaderSize_max */
 #include "../lib/zstd.h"
 #include "../lib/zstd_errors.h"  /* ZSTD_error_frameParameter_windowTooLarge */
@@ -157,6 +125,42 @@ char const* FIO_lzmaVersion(void)
 #define TEMPORARY_FILE_PERMISSIONS (0600)
 #endif
 
+
+#ifndef ZSTD_NOCOMPRESS
+
+/* *************************************
+*  Synchronous compression IO helpers
+*  Lightweight wrapper used by compression paths to manage buffered
+*  reads/writes without the async job machinery.
+***************************************/
+typedef struct {
+    const FIO_prefs_t* prefs;
+    FILE* srcFile;
+    FILE* dstFile;
+    unsigned storedSkips;
+    U8* inBuffer;
+    size_t inCapacity;
+    U8* srcBuffer;
+    size_t srcBufferLoaded;
+    U8* outBuffer;
+    size_t outCapacity;
+} FIO_SyncCompressIO;
+
+static void FIO_SyncCompressIO_init(FIO_SyncCompressIO* io,
+                                    const FIO_prefs_t* prefs,
+                                    size_t inCapacity,
+                                    size_t outCapacity);
+static void FIO_SyncCompressIO_destroy(FIO_SyncCompressIO* io);
+static void FIO_SyncCompressIO_setSrc(FIO_SyncCompressIO* io, FILE* file);
+static void FIO_SyncCompressIO_clearSrc(FIO_SyncCompressIO* io);
+static void FIO_SyncCompressIO_setDst(FIO_SyncCompressIO* io, FILE* file);
+static int  FIO_SyncCompressIO_closeDst(FIO_SyncCompressIO* io);
+static size_t FIO_SyncCompressIO_fillBuffer(FIO_SyncCompressIO* io, size_t minToHave);
+static void FIO_SyncCompressIO_consumeBytes(FIO_SyncCompressIO* io, size_t n);
+static void FIO_SyncCompressIO_commitOut(FIO_SyncCompressIO* io, const void* buffer, size_t size);
+static void FIO_SyncCompressIO_finish(FIO_SyncCompressIO* io);
+
+
 static unsigned FIO_sparseWrite(FILE* file,
                                 const void* buffer, size_t bufferSize,
                                 const FIO_prefs_t* const prefs,
@@ -384,6 +388,8 @@ static void FIO_SyncCompressIO_finish(FIO_SyncCompressIO* io)
     io->storedSkips = 0;
 }
 
+#endif /* ZSTD_NOCOMPRESS */
+
 /*-************************************
 *  Signal (Ctrl-C trapping)
 **************************************/