Mail Archives: cygwin/2003/09/16/14:16:42
> * Igor Pechtchanski <crpugpun AT pf DOT alh DOT rqh> [2003-09-16 13:36:30 -0400]:
>
> > > >int main (void) {
> > > >#define Y_N(x) ((x) ? "(TTY)" : "(not a TTY)")
> > > > printf("0: %s %s\n1: %s %s\n2: %s %s\n",
> > > > ttyname(0),Y_N(isatty(0)),ttyname(1),Y_N(isatty(1)),
> > > > ttyname(2),Y_N(isatty(2)))
> ^
> > > >#undef Y_N
> > > > return 0;
> > > >}
> > >
> > > Fixing the obvious typo in the above provides the desired results both
> > > inside gdb and outside gdb. With CYGWIN=tty and with CYGWIN=notty.
> >
> > what is the "obvious typo"?
>
> Aw, come on, try to at least *compile* the code you posted, will ya? ;-)
looks like my cut-and-paste is not as good as it was ... :-)
OK.
what about this:
int same_tty_p (int fd1, int fd2)
{
struct stat stat1;
struct stat stat2;
return ((fstat(fd1,&stat1) >= 0) && (fstat(fd2,&stat2) >= 0) &&
(stat1.st_dev == stat2.st_dev) && (stat2.st_ino == stat2.st_ino));
}
printf("0/1: %d\n1/2: %d\n2/0: %d\n",same_tty_p(0,1),
same_tty_p(1,2),same_tty_p(2,0));
I get crash both in program and gdb (i.e., gdb itself segfaults) on the
fstat() calls.
ps. I am missing "man fstat" - what package do I need for that?
--
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
The only time you have too much fuel is when you're on fire.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -