From 0de63b3e4057a92f620b8d1aeef236db560c1753 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Tue, 20 Nov 2018 18:36:45 -0500 Subject: Add bufferDelete --- bin/edi/buffer.c | 16 ++++++++++++++++ bin/edi/edi.h | 1 + 2 files changed, 17 insertions(+) (limited to 'bin') diff --git a/bin/edi/buffer.c b/bin/edi/buffer.c index cefd0a5e..5ece2e51 100644 --- a/bin/edi/buffer.c +++ b/bin/edi/buffer.c @@ -66,6 +66,12 @@ void bufferAppend(struct Buffer *buf, wchar_t ch) { buf->slice.len++; } +void bufferDelete(struct Buffer *buf) { + if (!buf->slice.len) return; + buf->slice.len--; + buf->len--; +} + wchar_t *bufferDest(struct Buffer *buf, size_t len) { if (buf->len + len > buf->cap) { while (len > buf->cap) buf->cap *= 2; @@ -115,6 +121,16 @@ int main() { assert(!wcsncmp(L"ABCDEF", buf.slice.ptr, buf.slice.len)); bufferFree(&buf); + buf = bufferAlloc(4); + bufferInsert(&buf); + bufferAppend(&buf, L'A'); + bufferAppend(&buf, L'B'); + bufferDelete(&buf); + assert(!wcsncmp(L"A", buf.slice.ptr, buf.slice.len)); + bufferAppend(&buf, L'C'); + assert(!wcsncmp(L"AC", buf.slice.ptr, buf.slice.len)); + bufferFree(&buf); + buf = bufferAlloc(4); wchar_t *dest = bufferDest(&buf, 2); diff --git a/bin/edi/edi.h b/bin/edi/edi.h index b2e87e19..3e43e40d 100644 --- a/bin/edi/edi.h +++ b/bin/edi/edi.h @@ -44,6 +44,7 @@ struct Buffer bufferAlloc(size_t cap); void bufferFree(struct Buffer *buf); void bufferInsert(struct Buffer *buf); void bufferAppend(struct Buffer *buf, wchar_t ch); +void bufferDelete(struct Buffer *buf); wchar_t *bufferDest(struct Buffer *buf, size_t len); struct Table { -- cgit 1.4.1 ed193087847abf5ee29e5ff2ec'/>
path: root/www/causal.agency/style.css (unfollow)
Commit message (Expand)Author
2021-01-12Style causal.agency like bin HTMLJune McEnroe
2021-01-12Avoid matching tag text inside HTML elementsJune McEnroe
2021-01-12Use hilex for up -hJune McEnroe
2021-01-12Use hilex for bin HTMLJune McEnroe
2021-01-12Don't output a pre in hilex by defaultJune McEnroe
2021-01-12Move hilex out of hilex directoryJune McEnroe
2021-01-12Consolidate hilex formatters into hilex.cJune McEnroe
2021-01-12Remove hacky tagging from hilexJune McEnroe
2021-01-12Add htagml -iJune McEnroe
2021-01-12Render tag index in HTMLJune McEnroe
2021-01-12Add htagml -xJune McEnroe
2021-01-12Prevent matching the same tag twiceJune McEnroe
2021-01-12Process htagml file line by lineJune McEnroe
2021-01-12Split fields by tab onlyJune McEnroe
2021-01-12List both Makefile and html.sh under README.7June McEnroe
2021-01-12Add htagml exampleJune McEnroe
2021-01-12Use mandoc and htagml for bin htmlJune McEnroe
2021-01-12Add htagmlJune McEnroe
2021-01-12Replace causal.agency with a simple mdoc pageJune McEnroe
2021-01-11Publish "Using vi"June McEnroe
2021-01-11Enable diff.colorMovedJune McEnroe
2021-01-10Set less search case-insensitiveJune McEnroe
2021-01-10Set EXINITJune McEnroe
2021-01-09Add c -t flag to print expression typeJune McEnroe
2021-01-05Update taglineJune McEnroe