44 const char *zip_error_string, *system_error_string;
51 buf[
sizeof(
buf) - 1] =
'\0';
52 zip_error_string =
NULL;
53 system_error_string =
buf;
60 system_error_string = strerror(
err->sys_err);
64 system_error_string =
zError(
err->sys_err);
72 system_error_string =
NULL;
76 buf[
sizeof(
buf) - 1] =
'\0';
77 system_error_string =
buf;
81 buf[
sizeof(
buf) - 1] =
'\0';
82 system_error_string =
buf;
91 system_error_string =
NULL;
95 if (system_error_string ==
NULL) {
96 return zip_error_string;
99 if ((
s = (
char *)
malloc(strlen(system_error_string) + (zip_error_string ? strlen(zip_error_string) + 2 : 0) + 1)) ==
NULL) {
103 sprintf(
s,
"%s%s%s", (zip_error_string ? zip_error_string :
""), (zip_error_string ?
": " :
""), system_error_string);
ZIP_EXTERN void zip_error_fini(zip_error_t *_Nonnull)
void * malloc(size_t size)
void error(const char *msg)
const struct _zip_err_info _zip_err_details[]
const struct _zip_err_info _zip_err_str[]
const int _zip_err_details_count
const int _zip_err_str_count
ZIP_EXTERN const char * zip_error_strerror(zip_error_t *err)
#define GET_INDEX_FROM_DETAIL(error)
#define ZIP_DETAIL_ET_ENTRY
#define GET_ERROR_FROM_DETAIL(error)
const char *ZEXPORT zError(int err)