minix/lib/curses/unctrl.c
2005-04-21 14:53:53 +00:00

46 lines
1.5 KiB
C
Executable file

/****************************************************************/
/* Unctrl() routines of the PCcurses package */
/* */
/****************************************************************/
/* This version of curses is based on ncurses, a curses version */
/* Originally written by Pavel Curtis at Cornell University. */
/* I have made substantial changes to make it run on IBM PC's, */
/* And therefore consider myself free to make it public domain. */
/* Bjorn Larsson (...mcvax!enea!infovax!bl) */
/****************************************************************/
/* 1.0: Release: 870515 */
/****************************************************************/
/* Modified to run under the MINIX operating system by Don Cope */
/* These changes are also released into the public domain. */
/* 900906 */
/****************************************************************/
#include <curses.h>
#include "curspriv.h"
static char strbuf[3] = {0, 0, 0};
/****************************************************************/
/* Unctrl() returns a char pointer to a string corresponding to */
/* Argument character 'c'. */
/****************************************************************/
char *unctrl(c)
char c;
{
int ic = c;
ic &= 0xff;
if ((ic >= ' ') && (ic != 0x7f)) { /* normal characters */
strbuf[0] = ic;
strbuf[1] = '\0';
return(strbuf);
} /* if */
strbuf[0] = '^'; /* '^' prefix */
if (c == 0x7f) /* DEL */
strbuf[1] = '?';
else /* other control */
strbuf[1] = ic + '@';
return(strbuf);
} /* unctrl */