[8ebc79b] | 1 | /* |
---|
| 2 | Common functions of Zstd compression library |
---|
| 3 | Copyright (C) 2015-2016, Yann Collet. |
---|
| 4 | |
---|
| 5 | BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) |
---|
| 6 | |
---|
| 7 | Redistribution and use in source and binary forms, with or without |
---|
| 8 | modification, are permitted provided that the following conditions are |
---|
| 9 | met: |
---|
| 10 | * Redistributions of source code must retain the above copyright |
---|
| 11 | notice, this list of conditions and the following disclaimer. |
---|
| 12 | * Redistributions in binary form must reproduce the above |
---|
| 13 | copyright notice, this list of conditions and the following disclaimer |
---|
| 14 | in the documentation and/or other materials provided with the |
---|
| 15 | distribution. |
---|
| 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
---|
| 17 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
---|
| 18 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
---|
| 19 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
---|
| 20 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
---|
| 21 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
---|
| 22 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
---|
| 23 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
---|
| 24 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
---|
| 25 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
---|
| 26 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
---|
| 27 | |
---|
| 28 | You can contact the author at : |
---|
| 29 | - zstd homepage : http://www.zstd.net/ |
---|
| 30 | */ |
---|
| 31 | |
---|
| 32 | |
---|
| 33 | /*-************************************* |
---|
| 34 | * Dependencies |
---|
| 35 | ***************************************/ |
---|
| 36 | #include <stdlib.h> /* malloc */ |
---|
| 37 | #include "error_private.h" |
---|
| 38 | #define ZSTD_STATIC_LINKING_ONLY |
---|
| 39 | #include "zstd.h" /* declaration of ZSTD_isError, ZSTD_getErrorName, ZSTD_getErrorCode, ZSTD_getErrorString, ZSTD_versionNumber */ |
---|
| 40 | #include "zbuff.h" /* declaration of ZBUFF_isError, ZBUFF_getErrorName */ |
---|
| 41 | |
---|
| 42 | |
---|
| 43 | /*-**************************************** |
---|
| 44 | * Version |
---|
| 45 | ******************************************/ |
---|
| 46 | unsigned ZSTD_versionNumber (void) { return ZSTD_VERSION_NUMBER; } |
---|
| 47 | |
---|
| 48 | |
---|
| 49 | /*-**************************************** |
---|
| 50 | * ZSTD Error Management |
---|
| 51 | ******************************************/ |
---|
| 52 | /*! ZSTD_isError() : |
---|
| 53 | * tells if a return value is an error code */ |
---|
| 54 | unsigned ZSTD_isError(size_t code) { return ERR_isError(code); } |
---|
| 55 | |
---|
| 56 | /*! ZSTD_getErrorName() : |
---|
| 57 | * provides error code string from function result (useful for debugging) */ |
---|
| 58 | const char* ZSTD_getErrorName(size_t code) { return ERR_getErrorName(code); } |
---|
| 59 | |
---|
| 60 | /*! ZSTD_getError() : |
---|
| 61 | * convert a `size_t` function result into a proper ZSTD_errorCode enum */ |
---|
| 62 | ZSTD_ErrorCode ZSTD_getErrorCode(size_t code) { return ERR_getErrorCode(code); } |
---|
| 63 | |
---|
| 64 | /*! ZSTD_getErrorString() : |
---|
| 65 | * provides error code string from enum */ |
---|
| 66 | const char* ZSTD_getErrorString(ZSTD_ErrorCode code) { return ERR_getErrorName(code); } |
---|
| 67 | |
---|
| 68 | |
---|
| 69 | /* ************************************************************** |
---|
| 70 | * ZBUFF Error Management |
---|
| 71 | ****************************************************************/ |
---|
| 72 | unsigned ZBUFF_isError(size_t errorCode) { return ERR_isError(errorCode); } |
---|
| 73 | |
---|
| 74 | const char* ZBUFF_getErrorName(size_t errorCode) { return ERR_getErrorName(errorCode); } |
---|
| 75 | |
---|
| 76 | |
---|
| 77 | |
---|
| 78 | void* ZSTD_defaultAllocFunction(void* opaque, size_t size) |
---|
| 79 | { |
---|
| 80 | void* address = malloc(size); |
---|
| 81 | (void)opaque; |
---|
| 82 | /* printf("alloc %p, %d opaque=%p \n", address, (int)size, opaque); */ |
---|
| 83 | return address; |
---|
| 84 | } |
---|
| 85 | |
---|
| 86 | void ZSTD_defaultFreeFunction(void* opaque, void* address) |
---|
| 87 | { |
---|
| 88 | (void)opaque; |
---|
| 89 | /* if (address) printf("free %p opaque=%p \n", address, opaque); */ |
---|
| 90 | free(address); |
---|
| 91 | } |
---|