[comp.sys.ibm.pc] EXE-File as shell ?

inst182@tuvie (Inst.f.Techn.Informatik) (08/09/89)

I have written a login shell for DOS to ask the user a login id, then
look up this id in a file. If it finds that id, it chdirs to the
"home directory" and spawns the program which is given in the same line
of the "password file". Everything works fine, now to my problem:

When I spawn a program with spawnve (P_WAIT, progname, argv, envp); the
login shell stays in memory and needs 64kB (it is a .com file). 

For most of the accounts the program I spawn is "command.com /P" which
will never exit, so the login program is not needed anymore and spawns
command.com with spawnve (P_OVERLAY, progname, argv, envp); so that
command.com is loaded into the memory formerly occupied by login.com.
This works, I have 64 kB more memory available, but some TSRs won't work
correctly anymore. Anarkey cannot edit environment variables anymore,
and dosxserv shows the name COMMAND for all resident programs.

So I thought, I make login an EXE-file, which would need only 17kB and
not worry anymore about P_WAIT or P_OVERLAY. But when login is an
EXE-File, I cannot open the password file anymore. 

Is this a bug in Turbo-C 2.0, in MS-DOS 3.2 or am I overlooking
something ??

Many thanx in advance,
	Peter.

P.S.: If you mail, please mail to the address below, *not* to inst182,
which is an account for everybody in the institute, who needs to post.

 _______________________________________________________________
|	__   |							|
|  |   |  \  | Peter J. Holzer					|
|  |___|__/  | Technische Universitaet Wien			|
|  |   |     |							|
|  |   |     | ...!uunet!mcvax!tuvie!asupa!honey!hjphr		|
|  ____/     |--------------------------------------------------|
|	     | Think of it as evolution in action -- Tony Rand	|
|____________|__________________________________________________|