Why is 2.0.36 so broken? (RH 5.2)

Bruce Korb (korb@datadesign.com)
Fri, 28 May 1999 00:54:57 +0000


"run" is a little program I wrote to echo its arguments and exec
the program specified. That way, I could be certain what strings
were delivered to the execvp() syscall. Here is the code, the
invocation and the result:

#include <stdio.h>
#include <unistd.h>
int
main( int argc, char** argv )
{
printf( "Run\t%s (%d args)\n", *++argv, --argc - 1 );
{
int i = 0;
char** pp = argv+1;
while (++i < argc)
printf( "\targ %d\t%s\n", i, *(pp++) );
}
return execvp( *argv, argv );
}

> run vi test
Run vi (1 args)
arg 1 test
"^IÎë^X~M¶" [New File]:q
:q

Were I to have written out the file (which I have done on occasion),
the result would be a file named, "^IÎë^X~M¶". Not good.
Whatever the cause of this problem, I think it is the primary
reason for another problem: after several invocations, Netscape
suddenly complains that I have no default Inbox, and so I cannot
receive my mail. But it takes several invocations. The result is
a netscape process that is not talking to my xwindow, so I have
to ps e|egrep netscape and kill -9 the process :(.

I just tried something:

> run run vi xxx
Run run (2 args)
arg 1 vi
arg 2 xxx
Run vi (1 args)
arg 1 xxx
"^IÎë^X~M¶" [New File]:q

Interesting. By the way, this manifestation of the problem
goes away if I set my login shell to bash, instead of ksh.
The Netscape problem remains, however.

This is a highly, highly reproducible problem.
_any_ suggestions at all? Please?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/