doc: canl.pdf
${LIBCANL}:\
- canl.lo canl_err.lo canl_dns.lo canl_ssl.lo canl_cert.lo canl_cred.lo \
- canl_err_desc.lo doio.lo evaluate.lo list.lo normalize.lo proxycertinfo.lo \
- scutils.lo sslutils.lo data.lo namespaces_parse.lo namespaces_lex.lo \
+ canl_err_desc.lo canl.lo canl_err.lo canl_dns.lo canl_ssl.lo \
+ canl_cert.lo canl_cred.lo\
+ doio.lo evaluate.lo list.lo normalize.lo proxycertinfo.lo\
+ scutils.lo sslutils.lo data.lo namespaces_parse.lo namespaces_lex.lo\
signing_policy_parse.lo signing_policy_lex.lo
${LINK} -rpath ${stagedir}${prefix}/${libdir} ${version_info} $+ ${LFLAGS_LIB} -o $@
canl_err_origin err_orig);
static void get_error_string(glb_ctx *cc, char *code_str);
static canl_err_code update_error_msg(canl_ctx cc, const char *new_msg);
+static char *
+canl_strerror(const canl_err_code c_code);
/* Save error message into err_msg
* use NULL for empty err_format */
code_str[ERR_CODE_LEN - 1] = '\0';
}
break;
+ case CANL_ERROR:
+ new_str = canl_strerror(cc->err_code);
+ if (new_str) {
+ strncpy(code_str, new_str,
+ ERR_CODE_LEN);
+ code_str[ERR_CODE_LEN - 1] = '\0';
+ }
+ break;
default:
snprintf(code_str, ERR_CODE_LEN,
"Unknown error origin (%u) of error %lu!",
}
}
+static char *
+canl_strerror(const canl_err_code c_code)
+{
+ char *new_str = NULL;
+ int k = 0;
+ for (k = 0; k < canl_err_descs_num; k++) {
+ if (canl_err_descs[k].code == c_code) {
+ new_str = canl_err_descs[k].desc;
+ }
+ }
+ return new_str;
+}
+
canl_err_code
canl_get_error_code(canl_ctx cc)
{
#include "canl_locl.h"
#include "canl_mech_ssl.h"
-struct canl_err_desc canl_err_descs[] = {);
+canl_err_desc canl_err_descs[] = {);
open (DESC, $desc_file) or die ("Failed to open $desc_file: $!");
while (<DESC>) {
print STDOUT qq (
};
+
+int canl_err_descs_num = sizeof(canl_err_descs)/sizeof(*canl_err_descs);
);