From 425ef692da7e74112f88f0b368f3286dba84f846 Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Thu, 18 Jun 2020 19:45:40 -0700 Subject: feat: working parser for rc shell language --- sys/cmd/rc/util.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 sys/cmd/rc/util.c (limited to 'sys/cmd/rc/util.c') diff --git a/sys/cmd/rc/util.c b/sys/cmd/rc/util.c new file mode 100644 index 0000000..02b3611 --- /dev/null +++ b/sys/cmd/rc/util.c @@ -0,0 +1,40 @@ +#include "rc.h" + +void * +emalloc(uintptr n) +{ + void *p = malloc(n); + if (!p) + panic("can't malloc %d bytes", n); + + return p; +} + +void * +erealloc(void *p, uintptr n) +{ + void *new = realloc(p, n); + if (!new) + panic("can't realloc %d bytes", n); + + return new; +} + +void +efree(void *p) +{ + if (p) + free(p); + else + pfmt(errio, "free \n"); +} + +void +panic(char *s, int n) +{ + pfmt(errio, "rc: "); + pfmt(errio, s, n); + pchr(errio, '\n'); + flush(&errio); + abort(); +} -- cgit v1.2.1