diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-04-18 15:28:21 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-04-19 00:32:26 -0400 |
commit | f70b803e39484a2eba362414545ba8afd027c9da (patch) | |
tree | 9fd89a070f272df3e0c47de821f6fbf38c914360 /lib/error_handler.c | |
parent | 59f7d29e2d707373ba1153337dca3279a2e3acc5 (diff) | |
download | spmc-f70b803e39484a2eba362414545ba8afd027c9da.tar.gz |
Add error handler
Diffstat (limited to 'lib/error_handler.c')
-rw-r--r-- | lib/error_handler.c | 27 |
1 files changed, 27 insertions, 0 deletions
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)); +} + |