summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1997-08-13 23:28:29 +0000
committerache <ache@FreeBSD.org>1997-08-13 23:28:29 +0000
commit51ac279382827515917913557b38c1d59ebf868e (patch)
tree9741d0565a409159cc931418904ea0192e60ae5b /lib
parent18723c26bbc0123060a666b6fb181c1682cce1a1 (diff)
downloadFreeBSD-src-51ac279382827515917913557b38c1d59ebf868e.zip
FreeBSD-src-51ac279382827515917913557b38c1d59ebf868e.tar.gz
Define NCURSES_VERSION publicly, some applications want it
Fix unctrl() Merging from 4.1 used for this fixes.
Diffstat (limited to 'lib')
-rw-r--r--lib/libncurses/curses.h8
-rw-r--r--lib/libncurses/curses.priv.h2
-rw-r--r--lib/libncurses/lib_unctrl.c67
-rw-r--r--lib/libncurses/unctrl.h37
-rw-r--r--lib/libncurses/version.h3
5 files changed, 80 insertions, 37 deletions
diff --git a/lib/libncurses/curses.h b/lib/libncurses/curses.h
index a3acc53..247aab8 100644
--- a/lib/libncurses/curses.h
+++ b/lib/libncurses/curses.h
@@ -22,6 +22,12 @@
#define CURSES 1
#define CURSES_H 1
+/* This is defined in more than one ncurses header, for identification */
+#undef NCURSES_VERSION
+#define NCURSES_VERSION "1.8.6/ache"
+
+typedef unsigned long chtype;
+
#include <stdio.h>
#include <stdarg.h>
#ifndef NOTERMIOS
@@ -37,8 +43,6 @@
#define bool char
-typedef unsigned long chtype;
-
/* attributes */
#define A_ATTRIBUTES 0xffffff00
#define A_NORMAL 0x00000000
diff --git a/lib/libncurses/curses.priv.h b/lib/libncurses/curses.priv.h
index 794781e..85f54b7 100644
--- a/lib/libncurses/curses.priv.h
+++ b/lib/libncurses/curses.priv.h
@@ -11,8 +11,6 @@
*
*/
-#include "version.h"
-
#ifndef __GNUC__
#define inline
#endif
diff --git a/lib/libncurses/lib_unctrl.c b/lib/libncurses/lib_unctrl.c
index b0f10c2..6c04d32 100644
--- a/lib/libncurses/lib_unctrl.c
+++ b/lib/libncurses/lib_unctrl.c
@@ -1,32 +1,43 @@
-#ifdef __FreeBSD__
-#include <ctype.h>
-#endif
-#include <unctrl.h>
+/* generated by MKunctrl.awk */
-char *
- unctrl(register unsigned char uch)
-{
- static char buffer[3] = "^x";
-
-#ifdef __FreeBSD__
- if (isprint(uch)) {
-#else
- if ((uch & 0x60) != 0 && uch != 0x7F) {
-#endif
- /*
- * Printable character. Simply return the character as a one-character
- * string.
- */
- buffer[1] = uch;
- return &buffer[1];
- }
- uch &= ~0x80;
- /*
- * It is a control character. DEL is handled specially (^?). All others
- * use ^x notation, where x is the character code for the control character
- * with 0x40 ORed in. (Control-A becomes ^A etc.).
- */ buffer[1] = (uch == 0x7F ? '?' : (uch | 0x40));
+#include "curses.priv.h"
- return buffer;
+char *unctrl(register chtype ch)
+{
+static const char* const table[] = {
+ "^\100", "^\101", "^\102", "^\103", "^\104", "^\105", "^\106", "^\107",
+ "^\110", "^\111", "^\112", "^\113", "^\114", "^\115", "^\116", "^\117",
+ "^\120", "^\121", "^\122", "^\123", "^\124", "^\125", "^\126", "^\127",
+ "^\130", "^\131", "^\132", "^\133", "^\134", "^\135", "^\136", "^\137",
+ "\040", "\041", "\042", "\043", "\044", "\045", "\046", "\047",
+ "\050", "\051", "\052", "\053", "\054", "\055", "\056", "\057",
+ "\060", "\061", "\062", "\063", "\064", "\065", "\066", "\067",
+ "\070", "\071", "\072", "\073", "\074", "\075", "\076", "\077",
+ "\100", "\101", "\102", "\103", "\104", "\105", "\106", "\107",
+ "\110", "\111", "\112", "\113", "\114", "\115", "\116", "\117",
+ "\120", "\121", "\122", "\123", "\124", "\125", "\126", "\127",
+ "\130", "\131", "\132", "\133", "\134", "\135", "\136", "\137",
+ "\140", "\141", "\142", "\143", "\144", "\145", "\146", "\147",
+ "\150", "\151", "\152", "\153", "\154", "\155", "\156", "\157",
+ "\160", "\161", "\162", "\163", "\164", "\165", "\166", "\167",
+ "\170", "\171", "\172", "\173", "\174", "\175", "\176", "^?",
+ "\200", "\201", "\202", "\203", "\204", "\205", "\206", "\207",
+ "\210", "\211", "\212", "\213", "\214", "\215", "\216", "\217",
+ "\220", "\221", "\222", "\223", "\224", "\225", "\226", "\227",
+ "\230", "\231", "\232", "\233", "\234", "\235", "\236", "\237",
+ "\240", "\241", "\242", "\243", "\244", "\245", "\246", "\247",
+ "\250", "\251", "\252", "\253", "\254", "\255", "\256", "\257",
+ "\260", "\261", "\262", "\263", "\264", "\265", "\266", "\267",
+ "\270", "\271", "\272", "\273", "\274", "\275", "\276", "\277",
+ "\300", "\301", "\302", "\303", "\304", "\305", "\306", "\307",
+ "\310", "\311", "\312", "\313", "\314", "\315", "\316", "\317",
+ "\320", "\321", "\322", "\323", "\324", "\325", "\326", "\327",
+ "\330", "\331", "\332", "\333", "\334", "\335", "\336", "\337",
+ "\340", "\341", "\342", "\343", "\344", "\345", "\346", "\347",
+ "\350", "\351", "\352", "\353", "\354", "\355", "\356", "\357",
+ "\360", "\361", "\362", "\363", "\364", "\365", "\366", "\367",
+ "\370", "\371", "\372", "\373", "\374", "\375", "\376", "\377"
+};
+ return (char *)table[TextOf(ch)];
}
diff --git a/lib/libncurses/unctrl.h b/lib/libncurses/unctrl.h
index 31205d3..43986dc 100644
--- a/lib/libncurses/unctrl.h
+++ b/lib/libncurses/unctrl.h
@@ -1,19 +1,52 @@
+/***************************************************************************
+* COPYRIGHT NOTICE *
+****************************************************************************
+* ncurses is copyright (C) 1992-1995 *
+* Zeyd M. Ben-Halim *
+* zmbenhal@netcom.com *
+* Eric S. Raymond *
+* esr@snark.thyrsus.com *
+* *
+* Permission is hereby granted to reproduce and distribute ncurses *
+* by any means and for any fee, whether alone or as part of a *
+* larger distribution, in source or in binary form, PROVIDED *
+* this notice is included with any such distribution, and is not *
+* removed from any of its header files. Mention of ncurses in any *
+* applications linked with it is highly appreciated. *
+* *
+* ncurses comes AS IS with no warranty, implied or expressed. *
+* *
+***************************************************************************/
/*
* unctrl.h
*
* Display a printable version of a control character.
* Control characters are displayed in caret notation (^x), DELETE is displayed
- * as ^?. Printable characters sre displatyed as is.
+ * as ^?. Printable characters are displayed as is.
*
* The returned pointer points to a static buffer which gets overwritten by
* each call. Therefore, you must copy the resulting string to a safe place
* before calling unctrl() again.
*
*/
+
#ifndef _UNCTRL_H
#define _UNCTRL_H 1
-extern char *unctrl(unsigned char);
+#undef NCURSES_VERSION
+#define NCURSES_VERSION "1.8.6/ache"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <ncurses.h>
+
+extern char *unctrl(chtype);
+
+#ifdef __cplusplus
+}
+#endif
#endif /* _UNCTRL_H */
diff --git a/lib/libncurses/version.h b/lib/libncurses/version.h
deleted file mode 100644
index 45a8b46..0000000
--- a/lib/libncurses/version.h
+++ /dev/null
@@ -1,3 +0,0 @@
-
-#define NCURSES_VERSION "1.8.6"
-
OpenPOWER on IntegriCloud