ING_DB
This commit is contained in:
parent
6aee9ac27c
commit
17f4ac56bc
|
|
@ -0,0 +1,53 @@
|
|||
# include <stdio.h>
|
||||
|
||||
static short AAprtable[16] =
|
||||
{
|
||||
# ifdef EBCDIC
|
||||
0x3820, 0x0060, 0x8020, 0x0000,
|
||||
0xf801, 0x7c01, 0xf803, 0xfc00,
|
||||
0x03fe, 0x03fe, 0x03fc, 0x0000,
|
||||
0x03fe, 0x03fe, 0x03fc, 0x03ff
|
||||
# else
|
||||
0x3780, 0x0000, 0xffff, 0xffff,
|
||||
0xffff, 0xffff, 0xffff, 0x7fff,
|
||||
0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000
|
||||
# endif
|
||||
};
|
||||
|
||||
/*
|
||||
** XPUTCHAR -- put character to standard output
|
||||
**
|
||||
** The character is put directly to standard output, unless it is
|
||||
** a control character, in which case it is translated to a back-
|
||||
** slash escape so that it can be read. If this translation is
|
||||
** not wanted, use putc().
|
||||
**
|
||||
** The determination of printability is done by looking at the
|
||||
** bit vector 'AAprtable' -- if the corresponding bit is set,
|
||||
** the character is printed directly.
|
||||
**
|
||||
** Parameter:
|
||||
** c -- character to output
|
||||
*/
|
||||
AAxputchar(c)
|
||||
register int c;
|
||||
{
|
||||
register int i;
|
||||
register int mask;
|
||||
|
||||
i = (c >> 4) & 017;
|
||||
mask = 1 << (c & 017);
|
||||
|
||||
if (!(mask & AAprtable[i]))
|
||||
{
|
||||
/* output the octal */
|
||||
putchar('\\');
|
||||
i = c;
|
||||
putchar(((i & 0300) >> 6) + '0');
|
||||
putchar(((i & 0070) >> 3) + '0');
|
||||
return (putchar((i & 0007) + '0'));
|
||||
}
|
||||
else
|
||||
return (putchar(c));
|
||||
}
|
||||
Loading…
Reference in New Issue