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 --- |