Mail Archives: cygwin/2005/08/18/15:51:29
Hello
I run cygwin on Windows XP through rxvt. When I compile and run the
following code:
#include <stdio.h>
main()
{
printf("isatty=%d\n",isatty(fileno(stdin)));
char *s=(char *)malloc(1024+1);
char *s2=(char *)malloc(1024+1);
fgets(s,1024,stdin);
free(s);
printf("stdio = %ld\n", ftell(stdin));
fgets(s2,1024,stdin);
free(s2);
printf("stdio = %ld\n", ftell(stdin));
}
I input "abcdefg" followed by a nl and then "abcdefg" followed by a nl.
$ gcc test1.c
bash ~
$ ./a
isatty=1
abcdefg
stdio = 0
abcdefg
stdio = 8
As you see, the first ftell's result is wrong. The first fgets is ignored.
Interestingly, when I run cygwin without rxvt(just running bash.exe
from the dos command line) with CYGWIN=notty, the ftell always returns
-1. If CYGWIN=tty, then ftell behaves as in rxvt ; it returns 0 first
and then behaves correct.
Am I missing something?
--
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 -