mirror of
https://github.com/GnoConsortium/gno.git
synced 2024-11-18 19:09:31 +00:00
76 lines
1.7 KiB
C
76 lines
1.7 KiB
C
/*
|
|
* $Id: io.h,v 1.1 1997/03/14 06:22:27 gdr Exp $
|
|
*
|
|
* prchar
|
|
* print character with test for printer -- macro version
|
|
*
|
|
* profiling has shown that this is where we spend most of our time
|
|
* Don't use a case statement here; the macros are out of range
|
|
* for some compilers.
|
|
*/
|
|
|
|
#if 0
|
|
|
|
#define PRCHAR(__c, fp) \
|
|
{ \
|
|
if (__c == S_STANDOUT) { \
|
|
fpGLOB = fp; \
|
|
tputs(s_standout,1,tprchar); \
|
|
} else if (__c == E_STANDOUT) { \
|
|
fpGLOB = fp; \
|
|
tputs(e_standout,1,tprchar); \
|
|
} else if (__c == S_BOLD) { \
|
|
fpGLOB = fp; \
|
|
tputs(s_bold,1,tprchar); \
|
|
} else if (__c == E_BOLD) { \
|
|
fpGLOB = fp; \
|
|
tputs(e_bold,1,tprchar); \
|
|
} else if (__c == S_ITALIC) { \
|
|
fpGLOB = fp; \
|
|
tputs(s_italic,1,tprchar); \
|
|
} else if (__c == E_ITALIC) { \
|
|
fpGLOB = fp; \
|
|
tputs(e_italic,1,tprchar); \
|
|
} else if (__c == 13) { \
|
|
; \
|
|
} else { \
|
|
putc(c, fp); \
|
|
} \
|
|
}
|
|
|
|
#else
|
|
|
|
|
|
#define PRCHAR(c, fp) \
|
|
{ \
|
|
__i = c; \
|
|
switch(__i) { \
|
|
case S_STANDOUT: __s = s_standout; break; \
|
|
case E_STANDOUT: __s = e_standout; break; \
|
|
case S_BOLD: __s = s_bold; break; \
|
|
case E_BOLD: __s = e_bold; break; \
|
|
case S_ITALIC: __s = s_italic; break; \
|
|
case E_ITALIC: __s = e_italic; break; \
|
|
case 13: __s = (char *)0x01L; break; \
|
|
default: __s = NULL; \
|
|
} \
|
|
switch((unsigned long)__s) { \
|
|
case 0L: putc(c, fp); break; \
|
|
case 1L: ; break; \
|
|
default: fpGLOB = fp; tputs(__s, 1, tprchar); \
|
|
} \
|
|
}
|
|
|
|
#define PRCHAR2(c,fp) putc(c,fp)
|
|
|
|
extern char __i;
|
|
extern char *__s;
|
|
extern FILE *fpGLOB;
|
|
|
|
int getlin (char *p, FILE *in_buf);
|
|
void pbstr (char *str);
|
|
void put (char *p);
|
|
void putlin (char *p, FILE *pbuf);
|
|
int tprchar(char c);
|
|
#endif
|