2016-04-22 15:14:25 +00:00
|
|
|
/*
|
|
|
|
Common functions of Zstd compression library
|
|
|
|
Copyright (C) 2015-2016, Yann Collet.
|
|
|
|
|
|
|
|
BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
|
|
|
|
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
|
|
modification, are permitted provided that the following conditions are
|
|
|
|
met:
|
|
|
|
* Redistributions of source code must retain the above copyright
|
|
|
|
notice, this list of conditions and the following disclaimer.
|
|
|
|
* Redistributions in binary form must reproduce the above
|
|
|
|
copyright notice, this list of conditions and the following disclaimer
|
|
|
|
in the documentation and/or other materials provided with the
|
|
|
|
distribution.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
|
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
|
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
|
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
|
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
|
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
|
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
|
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
|
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
|
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
|
|
|
You can contact the author at :
|
|
|
|
- zstd homepage : http://www.zstd.net/
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
2016-05-12 13:55:26 +00:00
|
|
|
/*-*************************************
|
2016-04-22 15:14:25 +00:00
|
|
|
* Dependencies
|
|
|
|
***************************************/
|
2016-06-02 11:04:18 +00:00
|
|
|
#include <stdlib.h> /* malloc */
|
2016-04-22 15:14:25 +00:00
|
|
|
#include "error_private.h"
|
2016-06-04 17:47:02 +00:00
|
|
|
#define ZSTD_STATIC_LINKING_ONLY
|
|
|
|
#include "zstd.h" /* declaration of ZSTD_isError, ZSTD_getErrorName, ZSTD_getErrorCode, ZSTD_getErrorString, ZSTD_versionNumber */
|
2016-05-13 09:27:56 +00:00
|
|
|
#include "zbuff.h" /* declaration of ZBUFF_isError, ZBUFF_getErrorName */
|
2016-05-12 13:55:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
/*-****************************************
|
|
|
|
* Version
|
|
|
|
******************************************/
|
|
|
|
unsigned ZSTD_versionNumber (void) { return ZSTD_VERSION_NUMBER; }
|
2016-04-22 15:14:25 +00:00
|
|
|
|
|
|
|
|
|
|
|
/*-****************************************
|
|
|
|
* ZSTD Error Management
|
|
|
|
******************************************/
|
|
|
|
/*! ZSTD_isError() :
|
|
|
|
* tells if a return value is an error code */
|
|
|
|
unsigned ZSTD_isError(size_t code) { return ERR_isError(code); }
|
|
|
|
|
2016-05-12 13:55:26 +00:00
|
|
|
/*! ZSTD_getErrorName() :
|
|
|
|
* provides error code string from function result (useful for debugging) */
|
|
|
|
const char* ZSTD_getErrorName(size_t code) { return ERR_getErrorName(code); }
|
|
|
|
|
2016-04-22 15:14:25 +00:00
|
|
|
/*! ZSTD_getError() :
|
|
|
|
* convert a `size_t` function result into a proper ZSTD_errorCode enum */
|
2016-05-10 15:47:11 +00:00
|
|
|
ZSTD_ErrorCode ZSTD_getErrorCode(size_t code) { return ERR_getErrorCode(code); }
|
2016-04-22 15:14:25 +00:00
|
|
|
|
2016-05-12 13:55:26 +00:00
|
|
|
/*! ZSTD_getErrorString() :
|
|
|
|
* provides error code string from enum */
|
2016-05-10 15:47:11 +00:00
|
|
|
const char* ZSTD_getErrorString(ZSTD_ErrorCode code) { return ERR_getErrorName(code); }
|
|
|
|
|
2016-04-22 15:14:25 +00:00
|
|
|
|
|
|
|
/* **************************************************************
|
|
|
|
* ZBUFF Error Management
|
|
|
|
****************************************************************/
|
|
|
|
unsigned ZBUFF_isError(size_t errorCode) { return ERR_isError(errorCode); }
|
|
|
|
|
|
|
|
const char* ZBUFF_getErrorName(size_t errorCode) { return ERR_getErrorName(errorCode); }
|
2016-06-02 11:04:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void* ZSTD_defaultAllocFunction(void* opaque, size_t size)
|
|
|
|
{
|
|
|
|
void* address = malloc(size);
|
2016-06-02 13:11:39 +00:00
|
|
|
(void)opaque;
|
2016-06-02 14:52:36 +00:00
|
|
|
/* printf("alloc %p, %d opaque=%p \n", address, (int)size, opaque); */
|
2016-06-02 11:04:18 +00:00
|
|
|
return address;
|
|
|
|
}
|
|
|
|
|
|
|
|
void ZSTD_defaultFreeFunction(void* opaque, void* address)
|
|
|
|
{
|
|
|
|
(void)opaque;
|
2016-06-02 14:52:36 +00:00
|
|
|
/* if (address) printf("free %p opaque=%p \n", address, opaque); */
|
2016-06-02 11:04:18 +00:00
|
|
|
free(address);
|
|
|
|
}
|