projects
/
apps
/
madtty.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix compilation on Free and OpenBSD.
[apps/madtty.git]
/
madtty
/
madtty.c
diff --git
a/madtty/madtty.c
b/madtty/madtty.c
index
8994454
..
95ea5e2
100644
(file)
--- a/
madtty/madtty.c
+++ b/
madtty/madtty.c
@@
-24,7
+24,6
@@
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
-#include <pty.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
@@
-33,9
+32,19
@@
#include <sys/types.h>
#include <termios.h>
#include <wchar.h>
#include <sys/types.h>
#include <termios.h>
#include <wchar.h>
-
+#ifdef __linux__
+# include <pty.h>
+#elif defined(__FreeBSD__)
+# include <libutil.h>
+#elif defined(__OpenBSD__)
+# include <util.h>
+#endif
#include "madtty.h"
#include "madtty.h"
+#ifndef NCURSES_ATTR_SHIFT
+# define NCURSES_ATTR_SHIFT 8
+#endif
+
#define IS_CONTROL(ch) !((ch) & 0xffffff60UL)
static int has_default = 0;
#define IS_CONTROL(ch) !((ch) & 0xffffff60UL)
static int has_default = 0;
@@
-612,6
+621,17
@@
static void try_interpret_escape_seq(madtty_t *t)
if (t->elen + 1 >= (int)sizeof(t->ebuf)) {
cancel:
if (t->elen + 1 >= (int)sizeof(t->ebuf)) {
cancel:
+#ifndef NDEBUG
+ fprintf(stderr, "cancelled: \\033");
+ for (int i = 0; i < (int)t->elen; i++) {
+ if (isprint(t->ebuf[i])) {
+ fputc(t->ebuf[i], stderr);
+ } else {
+ fprintf(stderr, "\\%03o", t->ebuf[i]);
+ }
+ }
+ fputc('\n', stderr);
+#endif
cancel_escape_sequence(t);
}
}
cancel_escape_sequence(t);
}
}