diff -u -r debug.c debug.c
--- debug.c 2004-09-07 11:50:01.000000000 +1000
+++ debug.c 2005-11-01 10:45:27.865300800 +1100
ttyp->proto==PROTO_PPP?"PPP":
lprint(" %d baudrate\r\n", ttyp->baud);
lprint(" interface is %s\r\n", ttyp->up?"up":"down");
lprint(" using fd %d, guardian pid is %d\r\n", ttyp->fd, ttyp->pid);
--- main.c 2004-09-07 12:25:39.000000000 +1000
+++ main.c 2005-11-27 22:13:00.651928000 +1100
Mainly for testing purposes, nice to be able to do fprintf(stderr...
+ Includes Tim Watt's ttyname() fixes (modified)
int blnKeepErr, blnKeepStdOut;
+ const char *ttyname_0_dup = 0;
+ const char *ttyname_1_dup = 0;
+ const char *ttyname_2_dup = 0;
+#define dup_ttyname(n) \
+ if( (ttyname_##n##_dup = ttyname(n)) ) { \
+ ttyname_##n##_dup = strdup(ttyname_##n##_dup); \
+#define clr_ttyname(n) \
+ if( (ttyname_##n##_dup) ) { \
+ free((char *) ttyname_##n##_dup); \
+ ttyname_##n##_dup = 0; \
/* stderr going elsewhere ?? */
- if((slirp_tty == NULL && strcmp(ttyname(0), ttyname(2)) == 0) ||
- (slirp_tty != NULL && strcmp(ttyname(2), slirp_tty) == 0) )
+ if((slirp_tty == NULL && ttyname_0_dup && ttyname_2_dup && strcmp(ttyname_0_dup, ttyname_2_dup) == 0) ||
+ (slirp_tty != NULL && ttyname_2_dup && strcmp(ttyname_2_dup, slirp_tty) == 0) )