add new API: cs_strerror() return a string describing a given error code. this should be used together with cs_errno()
diff --git a/cs.c b/cs.c
index fa50770..ded7cff 100644
--- a/cs.c
+++ b/cs.c
@@ -50,6 +50,30 @@
return ud->errnum;
}
+const char *cs_strerror(cs_err code)
+{
+ switch(code) {
+ default:
+ return "Unknown error code";
+ case CS_ERR_OK:
+ return "OK (CS_ERR_OK)";
+ case CS_ERR_MEM:
+ return "Out of memory (CS_ERR_MEM)";
+ case CS_ERR_ARCH:
+ return "Invalid architecture (CS_ERR_ARCH)";
+ case CS_ERR_HANDLE:
+ return "Invalid handle (CS_ERR_HANDLE)";
+ case CS_ERR_CSH:
+ return "Invalid csh (CS_ERR_CSH)";
+ case CS_ERR_MODE:
+ return "Invalid mode (CS_ERR_MODE)";
+ case CS_ERR_OPTION:
+ return "Invalid option (CS_ERR_OPTION)";
+ case CS_ERR_DETAIL:
+ return "Details are unavailable (CS_ERR_DETAIL)";
+ }
+}
+
cs_err cs_open(cs_arch arch, cs_mode mode, csh *handle)
{
cs_struct *ud;