From 1a7e3d00588725da3d8764fa9d624bc8611be070 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Wed, 18 Oct 2023 13:07:23 +0000 Subject: Add infrastructure for custom error files Signed-off-by: Laurent Bercot --- src/libtipidee/tipidee_conf_get_errorfile.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/libtipidee/tipidee_conf_get_errorfile.c (limited to 'src/libtipidee/tipidee_conf_get_errorfile.c') diff --git a/src/libtipidee/tipidee_conf_get_errorfile.c b/src/libtipidee/tipidee_conf_get_errorfile.c new file mode 100644 index 0000000..732ff9d --- /dev/null +++ b/src/libtipidee/tipidee_conf_get_errorfile.c @@ -0,0 +1,24 @@ +/* ISC license. */ + +#include +#include + +#include + +#include + +char const *tipidee_conf_get_errorfile (tipidee_conf const *conf, char const *docroot, unsigned int status) +{ + size_t docrootlen = strlen(docroot) ; + char key[7 + docrootlen] ; + if (status < 100 || status > 999) goto err ; + key[0] = 'E' ; key[1] = ':' ; + uint_fmt(key + 2, status) ; + key[5] = ':' ; + memcpy(key + 6, docroot, docrootlen + 1) ; + return tipidee_conf_get_string(conf, key) ; + + err: + errno = EINVAL ; + return 0 ; +} -- cgit v1.3.1