From fa799768c4f6d97c5f60a37829ad1b457b7c0096 Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Wed, 13 Apr 2022 19:51:54 -0400 Subject: separate from libc --- unctrl/chtype.ref | 3 +++ unctrl/unctrl.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 unctrl/chtype.ref create mode 100644 unctrl/unctrl.c (limited to 'unctrl') diff --git a/unctrl/chtype.ref b/unctrl/chtype.ref new file mode 100644 index 0000000..b21d377 --- /dev/null +++ b/unctrl/chtype.ref @@ -0,0 +1,3 @@ +#include +REFERENCE(curses/chtype.c) +XOPEN(4) diff --git a/unctrl/unctrl.c b/unctrl/unctrl.c new file mode 100644 index 0000000..fc77e6b --- /dev/null +++ b/unctrl/unctrl.c @@ -0,0 +1,29 @@ +#include +#include +#include +#include + +char * unctrl(chtype c) +{ + static char buf[3]; + char * ret = NULL; + int ch = c & A_CHARTEXT; + + if (iscntrl(ch)) { + buf[0] = '^'; + buf[1] = ch + 'A'; + buf[2] = '\0'; + ret = buf; + } else if (isprint(ch)) { + buf[0] = ch; + buf[1] = '\0'; + ret = buf; + } + + return ret; +} + +/* +XOPEN(4) +LINK(curses) +*/ -- cgit v1.2.1