Subject: Re: more user-friendly error message for /bin/sh?
To: None <tech-userlevel@netbsd.org>
From: Roland Illig <rillig@NetBSD.org>
List: tech-userlevel
Date: 01/17/2007 04:22:25
Joerg Sonnenberger wrote:
> On Tue, Jan 16, 2007 at 08:16:19PM -0500, James K. Lowden wrote:
> 
>>It's also not necessary IMO to check if fd is a regular file.  If it
>>seeks, it seeks, else it returns -1, errno will be ESPIPE, and life goes
>>on.  
> 
> 
> /bin/sh - and other use cases?

$ cat ./sh | ./sh -
sh: Syntax error: "(" unexpected

Since stdin is a pipe here, it is not seekable. Not even to (0,SEEK_SET) 
when the file pointer is already there. Therefore the old, confusing 
error message is printed.

$ ./sh ./sh
./sh: Cannot execute ELF binary ./sh

That way it works.

Roland