From fadd46012c9974931add6c36e69636d3cbc6906f Mon Sep 17 00:00:00 2001 From: Benji Dial Date: Sun, 20 Sep 2020 14:50:12 -0400 Subject: history when getting line from user in knob --- src/user/knob/block.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/user/knob/block.c') diff --git a/src/user/knob/block.c b/src/user/knob/block.c index 4ec0564..94bd073 100644 --- a/src/user/knob/block.c +++ b/src/user/knob/block.c @@ -1,5 +1,6 @@ -#include #include +#include +#include //unsophisticated, should copy by dwords where available void blockcpy(void *to, const void *from, uint32_t size) { @@ -23,4 +24,13 @@ uint32_t strcpy(char *to, const char *from) { to[i] = from[i]; while (from[i++]); return i - 1; +} + +char *strdup(const char *from) { + const char *end = from; + while (*(end++)) + ; + char *buf = get_block(end - from); + blockcpy(buf, from, end - from); + return buf; } \ No newline at end of file -- cgit v1.2.3