delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/08/18/15:51:29

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <6f80c15205081812512b915f77@mail.gmail.com>
Date: Fri, 19 Aug 2005 04:51:12 +0900
From: June Kim <juneaftn AT gmail DOT com>
To: cygwin AT cygwin DOT com
Subject: misbehavior of ftell on stdin?
Mime-Version: 1.0
X-IsSubscribed: yes
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id j7IJpL8F023385

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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019