]> git.draconx.ca Git - cdecl99.git/blobdiff - src/error.c
Use common strtab generator for error strings.
[cdecl99.git] / src / error.c
index 9b89bac15239c04b0cec366e05af44b103ec8e0d..3d0a38e3f83218f739c45f4905ff58c68fa3207f 100644 (file)
@@ -45,12 +45,14 @@ static struct err_state err_no_mem = {
 
 const char *cdecl__strerror(unsigned code)
 {
-#      include "errtab.h"
+#include "errtab.h"
 
-       assert(code < sizeof offtab / sizeof offtab[0]);
-       assert(offtab[code] != 0);
+       switch (code) {
+       case CDECL_ENOMEM: return gettext(strtab+err_enomem);
+       case CDECL_ENOPARSE: return gettext(strtab+err_enoparse);
+       }
 
-       return gettext((char *)&strtab + offtab[code]);
+       assert(0);
 }
 
 static void free_err(void *err)