This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Re: misbehavior of ftell on stdin?


> On Fri, Aug 19, 2005 at 04:51:12AM +0900, June Kim wrote:
> >I run cygwin on Windows XP through rxvt. When I compile and run the
> >following code:
> >
> >#include <stdio.h>
> >
> >main()
> >{
> >  printf("isatty=%d",isatty(fileno(stdin)));
> >  char *s=(char *)malloc(1024+1);
> >  char *s2=(char *)malloc(1024+1);
> >
> >  fgets(s,1024,stdin);
> >  free(s);
> >  printf("stdio = %ld", ftell(stdin));
> >
> >  fgets(s2,1024,stdin);
> >  free(s2);
> >  printf("stdio = %ld ", 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?
> 
> I've fixed cygwin so that it consistently returns -1 when an ftell is
> attempted on a tty device, which is the correct behavior.
> 
> Thanks for the test case.
> 
> cgf

Thank you but where do I get the patched version?

--
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]