char * hx509_get_error_string(hx509_context context, int error_code) { struct rk_strpool *p = NULL; hx509_error msg = context->error; if (msg == NULL || msg->code != error_code) { const char *cstr; char *str; cstr = com_right(context->et_list, error_code); if (cstr) return strdup(cstr); cstr = strerror(error_code); if (cstr) return strdup(cstr); if (asprintf(&str, "<unknown error: %d>", error_code) == -1) return NULL; return str; } for (msg = context->error; msg; msg = msg->next) p = rk_strpoolprintf(p, "%s%s", msg->msg, msg->next != NULL ? "; " : ""); return rk_strpoolcollect(p); }
char * hx509_get_error_string(hx509_context context, int error_code) { heim_error_t msg = context->error; heim_string_t s; char *str = NULL; if (msg == NULL || heim_error_get_code(msg) != error_code) { const char *cstr; cstr = com_right(context->et_list, error_code); if (cstr) return strdup(cstr); cstr = strerror(error_code); if (cstr) return strdup(cstr); if (asprintf(&str, "<unknown error: %d>", error_code) == -1) return NULL; return str; } s = heim_error_copy_string(msg); if (s) { const char *cstr = heim_string_get_utf8(s); if (cstr) str = strdup(cstr); heim_release(s); } return str; }
const char * error_message (long code) { static char msg[128]; const char *p = com_right(_et_list, code); if (p == NULL) p = strerror(code); if (p != NULL && *p != '\0') { strncpy(msg, p, sizeof(msg) - 1); msg[sizeof(msg) - 1] = 0; } else sprintf(msg, "Unknown error %ld", code); return msg; }
const char * error_message (long code) { static char msg[128]; const char *p = com_right(_et_list, code); if (p == NULL) { if (code < 0) snprintf(msg, sizeof(msg), "Unknown error %ld", code); else p = strerror(code); } if (p != NULL && *p != '\0') { strlcpy(msg, p, sizeof(msg)); } else snprintf(msg, sizeof(msg), "Unknown error %ld", code); return msg; }