예제 #1
0
파일: error.c 프로젝트: 0x24bin/winexe-1
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);
}
예제 #2
0
파일: error.c 프로젝트: lha/heimdal
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;
}
예제 #3
0
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;
}
예제 #4
0
파일: com_err.c 프로젝트: gojdic/samba
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;
}