close(s);
cmdfd = m;
signal(SIGCHLD, sigchld);
- if(opt_io && !(fileio = fopen(opt_io, "w"))) {
- fprintf(stderr, "Error opening %s:%s\n",
- opt_io, strerror(errno));
+ if(opt_io) {
+ if(!strcmp(opt_io, "-")) {
+ fileio = stdout;
+ } else {
+ if(!(fileio = fopen(opt_io, "w"))) {
+ fprintf(stderr, "Error opening %s:%s\n",
+ opt_io, strerror(errno));
+ }
+ }
}
}
}
for(i = 0; i < l; i++) {
switch(attr[i]) {
case 0:
- term.c.attr.mode &= ~(ATTR_REVERSE | ATTR_UNDERLINE | ATTR_BOLD);
+ term.c.attr.mode &= ~(ATTR_REVERSE | ATTR_UNDERLINE | ATTR_BOLD \
+ | ATTR_ITALIC);
term.c.attr.fg = DefaultFG;
term.c.attr.bg = DefaultBG;
break;
tputc(char *c) {
char ascii = *c;
- if(fileio)
+ if(fileio) {
putc(ascii, fileio);
+ fflush(fileio);
+ }
if(term.esc & ESC_START) {
if(term.esc & ESC_CSI) {