From 77d9b1a3211d23ce3f57928006eaab6e719f64af Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Mon, 31 Mar 2025 10:29:20 +0800 Subject: [PATCH] Add colb from June McEnroe --- Makefile | 6 ++++-- utils/.gitignore | 1 + utils/colb.c | 22 ++++++++++++++++++++++ diff --git a/Makefile b/Makefile index 0171a2c534699f81be3c37a69730b75419b7b713..3783d4f6c19255c82d313315d47b0a68e9b68af8 100644 --- a/Makefile +++ b/Makefile @@ -15,8 +15,10 @@ man/%.html: man/% mandoc -Thtml -O style=./mandoc.css $< > $@ -man/%.txt: man/% - mandoc $< | col -b > $@ +man/%.txt: man/% utils/colb + mandoc $< | ./utils/colb > $@ + +utils/colb: utils/colb.c hookc/hookc: diff --git a/utils/.gitignore b/utils/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..0d965ce068db463df239dc570c1dd7bfedfadc89 --- /dev/null +++ b/utils/.gitignore @@ -0,0 +1 @@ +/colb diff --git a/utils/colb.c b/utils/colb.c new file mode 100644 index 0000000000000000000000000000000000000000..e50ac5d5c4ad28919dc9e0b0aad4278f63e511b2 --- /dev/null +++ b/utils/colb.c @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-3.0-only +// SPDX-FileCopyrightText: Copyright (c) 2021 June McEnroe + +#include +#include +#include + +int main(void) +{ + setlocale(LC_CTYPE, "C.UTF-8"); + wint_t next, prev = WEOF; + while (WEOF != (next = getwchar())) { + if (next == L'\b') { + prev = WEOF; + } else { + if (prev != WEOF) putwchar(prev); + prev = next; + } + } + if (prev != WEOF) + putwchar(prev); +} -- 2.48.1