summaryrefslogtreecommitdiff
path: root/src/libmain.c
diff options
context:
space:
mode:
authorpeter <peter@pmikkelsen.com>2026-08-08 15:38:35 +0000
committerpeter <peter@pmikkelsen.com>2026-08-08 15:38:35 +0000
commitb1d9069f57439bed333d83c7041871c54f0b8d97 (patch)
tree10048b0fc474a6e9ff91affc44455191a651cd5e /src/libmain.c
parent059ecb51f46d5c86f8d9abbe3914d0a028725957 (diff)
Initial import of code
FossilOrigin-Name: 1bd90d4b94de6d63bd8639b8eae399c3dabf321e704ff08c03e99bbe6dfb7764
Diffstat (limited to 'src/libmain.c')
-rw-r--r--src/libmain.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/libmain.c b/src/libmain.c
new file mode 100644
index 0000000..1458bf8
--- /dev/null
+++ b/src/libmain.c
@@ -0,0 +1,45 @@
+#include <aplwc.h>
+#include <aplwc_internal.h>
+
+AplwcRc
+aplwc_new(Aplwc **p)
+{
+ *p = malloc_zero(sizeof(Aplwc));
+ if(*p == NULL)
+ RETURN_ERROR(*p, MALLOC_FAILED, "");
+
+ return APLWC_OK;
+}
+
+AplwcRc
+aplwc_destroy(Aplwc *p)
+{
+ if(p)
+ free(p);
+
+ return APLWC_OK;
+}
+
+const char *
+aplwc_errstr(Aplwc *aplwc)
+{
+ static char buf[256];
+ buf[0] = 0;
+
+ const char *err = NULL;
+ const char *msg = NULL;
+ if(aplwc){
+ err = rc_to_string(aplwc->last_error);
+ msg = aplwc->last_error_msg;
+ }
+
+ if(!err)
+ err = "(unable to produce error string)";
+
+ if(msg && (strlen(msg) > 0))
+ snprintf(buf, sizeof(buf), "%s: %s", err, msg);
+ else
+ snprintf(buf, sizeof(buf), "%s", err);
+
+ return buf;
+}