From 9695ea005d4af93dcd60f74f10fd3c54499a182f Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Thu, 11 Nov 2021 16:31:58 -0800 Subject: chore: split up base library into individual files for smaller binaries --- sys/base/error/errorf.c | 13 +++++++++++++ sys/base/error/exits.c | 11 +++++++++++ sys/base/error/internal.h | 3 +++ sys/base/error/panicf.c | 16 ++++++++++++++++ sys/base/error/rules.mk | 6 ++++++ sys/base/error/verrorf.c | 9 +++++++++ sys/base/error/vpanicf.c | 11 +++++++++++ 7 files changed, 69 insertions(+) create mode 100644 sys/base/error/errorf.c create mode 100644 sys/base/error/exits.c create mode 100644 sys/base/error/internal.h create mode 100644 sys/base/error/panicf.c create mode 100644 sys/base/error/rules.mk create mode 100644 sys/base/error/verrorf.c create mode 100644 sys/base/error/vpanicf.c (limited to 'sys/base/error') diff --git a/sys/base/error/errorf.c b/sys/base/error/errorf.c new file mode 100644 index 0000000..193dd9d --- /dev/null +++ b/sys/base/error/errorf.c @@ -0,0 +1,13 @@ +#include "internal.h" + +void +errorf(byte* fmt, ...) +{ + va_list args; + va_start(args, fmt); + + fprintf(stderr, "error: "); + vfprintf(stderr, fmt, args); + + va_end(args); +} diff --git a/sys/base/error/exits.c b/sys/base/error/exits.c new file mode 100644 index 0000000..6be7d3b --- /dev/null +++ b/sys/base/error/exits.c @@ -0,0 +1,11 @@ +#include "internal.h" + +void +exits(char *s) +{ + if(s == nil || *s == 0) + exit(0); + + fputs(s, stderr); + exit(1); +} diff --git a/sys/base/error/internal.h b/sys/base/error/internal.h new file mode 100644 index 0000000..88a8895 --- /dev/null +++ b/sys/base/error/internal.h @@ -0,0 +1,3 @@ +#include +#include + diff --git a/sys/base/error/panicf.c b/sys/base/error/panicf.c new file mode 100644 index 0000000..d698576 --- /dev/null +++ b/sys/base/error/panicf.c @@ -0,0 +1,16 @@ +#include "internal.h" + +void +panicf(byte* fmt, ...) +{ + va_list args; + va_start(args, fmt); + + printf("panic: "); + vprintf(fmt, args); + printf("\n"); + + va_end(args); + + exit(1); +} diff --git a/sys/base/error/rules.mk b/sys/base/error/rules.mk new file mode 100644 index 0000000..e3a9ce0 --- /dev/null +++ b/sys/base/error/rules.mk @@ -0,0 +1,6 @@ +SRCS_$(d)+=\ + $(d)/error/exits.c \ + $(d)/error/errorf.c \ + $(d)/error/panicf.c \ + $(d)/error/verrorf.c \ + $(d)/error/vpanicf.c \ diff --git a/sys/base/error/verrorf.c b/sys/base/error/verrorf.c new file mode 100644 index 0000000..15af064 --- /dev/null +++ b/sys/base/error/verrorf.c @@ -0,0 +1,9 @@ +#include "internal.h" + +void +verrorf(byte* fmt, va_list args) +{ + printf("error: "); + vprintf(fmt, args); + printf("\n"); +} diff --git a/sys/base/error/vpanicf.c b/sys/base/error/vpanicf.c new file mode 100644 index 0000000..bea97ac --- /dev/null +++ b/sys/base/error/vpanicf.c @@ -0,0 +1,11 @@ +#include "internal.h" + +void +vpanicf(byte* fmt, va_list args) +{ + printf("panic: "); + vprintf(fmt, args); + printf("\n"); + + exit(1); +} -- cgit v1.2.1