package zstd /* #define ZSTD_STATIC_LINKING_ONLY #include "zstd.h" */ import "C" // ErrorCode is an error returned by the zstd library. type ErrorCode int // Error returns the error string given by zstd func (e ErrorCode) Error() string { return C.GoString(C.ZSTD_getErrorName(C.size_t(e))) } func cIsError(code int) bool { return int(C.ZSTD_isError(C.size_t(code))) != 0 } // getError returns an error for the return code, or nil if it's not an error func getError(code int) error { if code < 0 && cIsError(code) { return ErrorCode(code) } return nil } // IsDstSizeTooSmallError returns whether the error correspond to zstd standard sDstSizeTooSmall error func IsDstSizeTooSmallError(e error) bool { if e != nil && e.Error() == "Destination buffer is too small" { return true } return false }