Deleted Added
full compact
lzma.h (278433) lzma.h (291125)
1/**
2 * \file api/lzma.h
3 * \brief The public API of liblzma data compression library
4 *
5 * liblzma is a public domain general-purpose data compression library with
6 * a zlib-like API. The native file format is .xz, but also the old .lzma
7 * format and raw (no headers) streams are supported. Multiple compression
8 * algorithms (filters) are supported. Currently LZMA2 is the primary filter.

--- 68 unchanged lines hidden (view full) ---

77
78 /*
79 * Skip inttypes.h if we already have all the required macros. If we
80 * have the macros, we assume that we have the matching typedefs too.
81 */
82# if !defined(UINT32_C) || !defined(UINT64_C) \
83 || !defined(UINT32_MAX) || !defined(UINT64_MAX)
84 /*
1/**
2 * \file api/lzma.h
3 * \brief The public API of liblzma data compression library
4 *
5 * liblzma is a public domain general-purpose data compression library with
6 * a zlib-like API. The native file format is .xz, but also the old .lzma
7 * format and raw (no headers) streams are supported. Multiple compression
8 * algorithms (filters) are supported. Currently LZMA2 is the primary filter.

--- 68 unchanged lines hidden (view full) ---

77
78 /*
79 * Skip inttypes.h if we already have all the required macros. If we
80 * have the macros, we assume that we have the matching typedefs too.
81 */
82# if !defined(UINT32_C) || !defined(UINT64_C) \
83 || !defined(UINT32_MAX) || !defined(UINT64_MAX)
84 /*
85 * MSVC has no C99 support, and thus it cannot be used to
86 * compile liblzma. The liblzma API has to still be usable
87 * from MSVC, so we need to define the required standard
88 * integer types here.
85 * MSVC versions older than 2013 have no C99 support, and
86 * thus they cannot be used to compile liblzma. Using an
87 * existing liblzma.dll with old MSVC can work though(*),
88 * but we need to define the required standard integer
89 * types here in a MSVC-specific way.
90 *
91 * (*) If you do this, the existing liblzma.dll probably uses
92 * a different runtime library than your MSVC-built
93 * application. Mixing runtimes is generally bad, but
94 * in this case it should work as long as you avoid
95 * the few rarely-needed liblzma functions that allocate
96 * memory and expect the caller to free it using free().
89 */
97 */
90# if defined(_WIN32) && defined(_MSC_VER)
98# if defined(_WIN32) && defined(_MSC_VER) && _MSC_VER < 1800
91 typedef unsigned __int8 uint8_t;
92 typedef unsigned __int32 uint32_t;
93 typedef unsigned __int64 uint64_t;
94# else
95 /* Use the standard inttypes.h. */
96# ifdef __cplusplus
97 /*
98 * C99 sections 7.18.2 and 7.18.4 specify

--- 215 unchanged lines hidden ---
99 typedef unsigned __int8 uint8_t;
100 typedef unsigned __int32 uint32_t;
101 typedef unsigned __int64 uint64_t;
102# else
103 /* Use the standard inttypes.h. */
104# ifdef __cplusplus
105 /*
106 * C99 sections 7.18.2 and 7.18.4 specify

--- 215 unchanged lines hidden ---