/****************************************************************************
- * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
+ * and: Thomas E. Dickey 1996-on *
****************************************************************************/
#include <curses.priv.h>
#include <term.h> /* cur_term */
-MODULE_ID("$Id: lib_tracebits.c,v 1.7 2000/09/02 18:08:37 tom Exp $")
+MODULE_ID("$Id: lib_tracebits.c,v 1.13 2006/12/10 01:33:00 tom Exp $")
#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
#define _POSIX_SOURCE
(void) strcat(buf, "} ");
}
-char *
-_nc_tracebits(void)
+NCURSES_EXPORT(char *)
+_nc_trace_ttymode(TTY * tty)
/* describe the state of the terminal control bits exactly */
{
char *buf;
}, oflags[] =
{
{OPOST, "OPOST"},
+ {OFLAGS_TABS, "XTABS"},
{0, NULL}
#define ALLOUT (OPOST)
}, cflags[] =
};
buf = _nc_trace_buf(0,
- 8 + sizeof(iflags) +
- 8 + sizeof(oflags) +
- 8 + sizeof(cflags) +
- 8 + sizeof(lflags) +
- 8);
+ 8 + sizeof(iflags) +
+ 8 + sizeof(oflags) +
+ 8 + sizeof(cflags) +
+ 8 + sizeof(lflags) +
+ 8);
- if (cur_term->Nttyb.c_iflag & ALLIN)
- lookup_bits(buf, iflags, "iflags", cur_term->Nttyb.c_iflag);
+ if (tty->c_iflag & ALLIN)
+ lookup_bits(buf, iflags, "iflags", tty->c_iflag);
- if (cur_term->Nttyb.c_oflag & ALLOUT)
- lookup_bits(buf, oflags, "oflags", cur_term->Nttyb.c_oflag);
+ if (tty->c_oflag & ALLOUT)
+ lookup_bits(buf, oflags, "oflags", tty->c_oflag);
- if (cur_term->Nttyb.c_cflag & ALLCTRL)
- lookup_bits(buf, cflags, "cflags", cur_term->Nttyb.c_cflag);
+ if (tty->c_cflag & ALLCTRL)
+ lookup_bits(buf, cflags, "cflags", tty->c_cflag);
#if defined(CS5) && defined(CS8)
{
static struct {
- char *name;
+ const char *name;
int value;
} csizes[] = {
{
"CS8 ", CS8
},
};
- char *result = "CSIZE? ";
- int value = (cur_term->Nttyb.c_cflag & CSIZE);
+ const char *result = "CSIZE? ";
+ int value = (tty->c_cflag & CSIZE);
unsigned n;
if (value != 0) {
}
#endif
- if (cur_term->Nttyb.c_lflag & ALLLOCAL)
- lookup_bits(buf, lflags, "lflags", cur_term->Nttyb.c_lflag);
+ if (tty->c_lflag & ALLLOCAL)
+ lookup_bits(buf, lflags, "lflags", tty->c_lflag);
#else
/* reference: ttcompat(4M) on SunOS 4.1 */
};
buf = _nc_trace_buf(0,
- 8 + sizeof(cflags));
+ 8 + sizeof(cflags));
- if (cur_term->Nttyb.sg_flags & ALLCTRL) {
- lookup_bits(buf, cflags, "cflags", cur_term->Nttyb.sg_flags);
+ if (tty->sg_flags & ALLCTRL) {
+ lookup_bits(buf, cflags, "cflags", tty->sg_flags);
}
#endif
return (buf);
}
-#else
-char *
+
+NCURSES_EXPORT(char *)
_nc_tracebits(void)
{
- static char tmp[] = "";
- return tmp;
+ return _nc_trace_ttymode(&(cur_term->Nttyb));
}
+#else
+empty_module(_nc_tracebits)
#endif /* TRACE */