From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?Beno=EEt?= Rouits Subject: fgets and ssh Date: Wed, 11 Apr 2007 14:17:17 +0200 Message-ID: <1176293837.12452.10.camel@chimay> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: Sender: linux-c-programming-owner@vger.kernel.org List-Id: Content-Type: text/plain; charset="us-ascii" To: linux-c-programming@vger.kernel.org hello, in a minimal shell tutorial written in C, i have a read_line function that does: char* read_line() { char* line=NULL; line=(char*)malloc(512); line=fgets(line,512,stdin); return line; } then i parse this line to build a correct "argv" to pass to execvp() everything works well when i use ssh interactively. The problem i encounter is when i pass a command to ssh into this shell: ssh -v guest@localhost ls [...] guest@localhost's password: debug1: Authentication succeeded (password). debug1: channel 0: new [client-session] debug1: Entering interactive session. debug1: Sending environment. debug1: Sending env LANG = fr_FR.utf8 debug1: Sending command: ls ( here the shell waits ) the shell still waits for ls and i have to retype intaractively "ls" to get the correct result: ls debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 Desktop Examples debug1: channel 0: free: client-session, nchannels 1 debug1: Transferred: stdin 0, stdout 0, stderr 0 bytes in 61.4 seconds debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 0.0 debug1: Exit status 9 any explanation would be greatly appreciated. +ben