mirror of
https://github.com/opnsense/src.git
synced 2026-04-20 21:59:20 -04:00
Define NCURSES_VERSION publicly, some applications want it
Fix unctrl() Merging from 4.1 used for this fixes.
This commit is contained in:
parent
02c7e1cb34
commit
ee05c01758
5 changed files with 80 additions and 37 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -11,8 +11,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include "version.h"
|
||||
|
||||
#ifndef __GNUC__
|
||||
#define inline
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,32 +1,43 @@
|
|||
#ifdef __FreeBSD__
|
||||
#include <ctype.h>
|
||||
#endif
|
||||
#include <unctrl.h>
|
||||
/* generated by MKunctrl.awk */
|
||||
|
||||
char *
|
||||
unctrl(register unsigned char uch)
|
||||
#include "curses.priv.h"
|
||||
|
||||
char *unctrl(register chtype ch)
|
||||
{
|
||||
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));
|
||||
|
||||
return buffer;
|
||||
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)];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
|
||||
#define NCURSES_VERSION "1.8.6"
|
||||
|
||||
Loading…
Reference in a new issue