aboutsummaryrefslogtreecommitdiff
path: root/lib/error_handler.c
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@users.noreply.github.com>2020-04-20 01:56:17 -0400
committerGitHub <noreply@github.com>2020-04-20 01:56:17 -0400
commit110489259c0696c0cee5bec6ad7695a0c93d4e74 (patch)
tree34a82b9e686c15e2acb00d62a0f8b95ac126de6d /lib/error_handler.c
parent57c9489b28a481abc078ad3a2dd197079f9c414b (diff)
parent667574b2e5628976c0cc0ddc2e1ae25bf5c0fd02 (diff)
downloadspmc-110489259c0696c0cee5bec6ad7695a0c93d4e74.tar.gz
Merge pull request #28 from jhunkeler/circleci-macos
Circleci macos
Diffstat (limited to 'lib/error_handler.c')
-rw-r--r--lib/error_handler.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/error_handler.c b/lib/error_handler.c
index baf56b4..4e06919 100644
--- a/lib/error_handler.c
+++ b/lib/error_handler.c
@@ -2,7 +2,25 @@
int spmerrno = 0;
static char spmerrbuf[255];
+static char spmerrbuf_reason[255];
+const char *SPM_ERR_STRING[] = {
+ "Success",
+ "No root record",
+ "Dangerous root path",
+ "Package not found",
+ "Invalid package",
+ "Bad package checksum",
+ "Failed to fetch package",
+ "Manifest has no header",
+ "Manifest has no data",
+ NULL,
+};
+void spmerrno_cause(const char *reason) {
+ char *buf = spmerrbuf_reason;
+ sprintf(buf, " (%s)", reason);
+ return;
+}
/**
*
* @param code
@@ -18,6 +36,10 @@ char *spm_strerror(int code) {
} else {
strcpy(buf, SPM_ERR_STRING[SPM_ERR_INDEX(code)]);
}
+
+ if (strlen(spmerrbuf_reason)) {
+ strcat(buf, spmerrbuf_reason);
+ }
return buf;
}