diff options
author | turret <turret@duck.com> | 2023-11-19 18:57:55 -0600 |
---|---|---|
committer | turret <turret@duck.com> | 2023-11-19 18:57:55 -0600 |
commit | a8b2282eb88f24c3c5f461e1557fa2cf76ebc251 (patch) | |
tree | 67544659f7df20e0286cb82e17aa47520a601f14 /init/util.c | |
download | discord-bot-skeleton-a8b2282eb88f24c3c5f461e1557fa2cf76ebc251.tar.gz discord-bot-skeleton-a8b2282eb88f24c3c5f461e1557fa2cf76ebc251.tar.bz2 discord-bot-skeleton-a8b2282eb88f24c3c5f461e1557fa2cf76ebc251.zip |
Initial commit
- create subsystem system using clone syscall, shared memory, shared
file descriptors
- printk-like logging facility (TODO: console loglevel)
- initcall system (like linux kernel)
TODO: determine license
factors: linker.ld, linux kernel licensing (some ideas are more
liberally taken rather than paraphrased)
Diffstat (limited to 'init/util.c')
-rw-r--r-- | init/util.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/init/util.c b/init/util.c new file mode 100644 index 0000000..1a08234 --- /dev/null +++ b/init/util.c @@ -0,0 +1,22 @@ +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +void die(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); + + if(fmt[0] && fmt[strlen(fmt)-1] == ':') { + fputc(' ', stderr); + perror(NULL); + } else { + fputc('\n', stderr); + } + + exit(1); +} |