From f70b803e39484a2eba362414545ba8afd027c9da Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Sat, 18 Apr 2020 15:28:21 -0400 Subject: Add error handler --- lib/error_handler.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 lib/error_handler.c (limited to 'lib/error_handler.c') diff --git a/lib/error_handler.c b/lib/error_handler.c new file mode 100644 index 0000000..baf56b4 --- /dev/null +++ b/lib/error_handler.c @@ -0,0 +1,27 @@ +#include "spm.h" + +int spmerrno = 0; +static char spmerrbuf[255]; + +/** + * + * @param code + * @return + */ +char *spm_strerror(int code) { + char *buf = spmerrbuf; + int is_spm_error = SPM_ERR_CONFIRM(code); + + memset(buf, '\0', sizeof(spmerrbuf)); + if (is_spm_error == 0) { + strcpy(buf, strerror(code)); + } else { + strcpy(buf, SPM_ERR_STRING[SPM_ERR_INDEX(code)]); + } + return buf; +} + +void spm_perror(const char *msg) { + fprintf(stderr, "%s: %s\n", msg ? msg : "", spm_strerror(spmerrno)); +} + -- cgit