Path: utzoo!attcan!uunet!snorkelwacker!ai-lab!friedman@apple-gunkies.ai.mit.edu From: friedman@apple-gunkies.ai.mit.edu (Noah Friedman) Newsgroups: comp.os.msdos.programmer Subject: Re: Child processes in Mess-Dos Summary: Use execvp() Message-ID: <11134@life.ai.mit.edu> Date: 2 Oct 90 17:17:20 GMT References: <4469@bwdls58.UUCP> Sender: news@ai.mit.edu Organization: The Free Software Foundation Lines: 25 In article <4469@bwdls58.UUCP> mlord@bwdls58.bnr.ca (Mark Lord) writes: >Ok.. I believe the difference here is whether or not the complete path is >given for the command. If fully qualified, COMMAND.COM is not needed, >otherwise it probably is needed to do the PATH search and actual invocation. > >Ie. "C:\BIN\MAPMEM.COM" -- probably does not need COMMAND.COM > "MAPMEM" -- probably DOES need COMMAND.COM > >I say probably because my Machine is unavailable to verify this theory for now. Most C libraries have an execvp() function which will search directories in the PATH environment variable if the program name is not a fully-qualified pathname. If you are unsure, you can always use this function or attempt to resolve the full pathname in your program. I suspect, however, that the EXEC call does *not* use COMMAND.COM, but rather, uses the current path when a filename is not fully qualified. This would be consistent with the behavior of other DOS system calls. I cannot at the moment verify this either since my XT is down, but I seem to remember from experience that this is correct. --- Noah Friedman friedman@ai.mit.edu