This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
Re: ncftp - works, but doesn't display any prompts
- To: Richard Stanton <stanton at Haas dot Berkeley dot EDU>
- Subject: Re: ncftp - works, but doesn't display any prompts
- From: Charles Wilson <cwilson at ece dot gatech dot edu>
- Date: Wed, 24 Jan 2001 19:52:40 -0500
- CC: Cygwin <cygwin at sources dot redhat dot com>
- References: <LNBBKMIKMNGEJNEJICPHGENKELAA.stanton@haas.berkeley.edu>
This is a bug in ncftp or cygwin. If ncftp determines that it is not
running from a TTY, it doesn't print any prompts. Here's the code that
it uses to determine that (ncftp/main.c):
gIsTTY = ((isatty(2) != 0) && (getppid() > 1)) ? 1 : 0;
gIsTTYr = ((isatty(0) != 0) && (getppid() > 1)) ? 1 : 0;
Here's the result of those operations in a bash window:
isatty(2) = 1
isatty(0) = 1
getppid() = 1764
gIsTTY = 1
gIsTTYr = 1
And from a cmd prompt:
isatty(2) = 1
isatty(0) = 1
getppid() = 1
gIsTTY = 0
gIsTTYr = 0
I'm not sure what the right fix is. Options:
1) Is this really a problem with the getppid implementation of cygwin
(?)
2) patch ncftp to ignore the value of getppid() -- just use isatty(x)
--> #ifdef __CYGWIN__, or for all platforms? Why does ncftp test
getppid() anyway?
--Chuck
Richard Stanton wrote:
>
> I just installed the latest version of ncftp using the cygwin setup program.
> I love the program, and it seems to work fine, but I don't get any prompts
> to make it clear I'm supposed to type. Here's a sample session, my input
> preceded by "*":
>
> [c:\]ncftp
> NcFTP 3.0.2 (October 19, 2000) by Mike Gleason (ncftp@ncftp.com).
> *dir
> dir: must be connected to do that.
> *open ttt
> Resolving ttt...
>
> Unknown host "ttt".
>
> How do I get it to display ftp-type command prompts?
>
> Richard Stanton
>
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple