#include "internal.h" // // error functions // static const char * fhp_errors[] = { "OK", "callback error", "bad state", "invalid character", "invalid character in HTTP method", "invalid character in HTTP URL", "invalid percent-encoded character in HTTP URL", "invalid character in HTTP version", "invalid character after carriage return", "invalid character in HTTP header name", "invalid error code", "buffer too small", "invalid body type", "too many transfer encodings", "invalid character in transfer encoding name", "invalid character in transfer encoding", "bad transfer encoding state", "transfer encoding parser already done", }; fhp_err_t fhp_strerror( fhp_err_t err, char * const buf, size_t len ) { // check error code if (err >= FHP_ERR_LAST) return FHP_ERR_INVALID_ERROR; // check buffer size size_t err_len = strlen(fhp_errors[err]) + 1; if (len < err_len) return FHP_ERR_BUFFER_TOO_SMALL; // copy string memcpy(buf, fhp_errors[err], err_len); // return success return FHP_OK; }