Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!rochester!pt.cs.cmu.edu!b.gp.cs.cmu.edu!Ralf.Brown@B.GP.CS.CMU.EDU From: Ralf.Brown@B.GP.CS.CMU.EDU Newsgroups: comp.sys.ibm.pc Subject: Re: Why is comma delimiter in batch files? Message-ID: <25a49409@ralf> Date: 5 Jan 90 11:33:13 GMT Sender: ralf@b.gp.cs.cmu.edu Organization: Carnegie Mellon University School of Computer Science Lines: 26 In-Reply-To: <74@qmsseq.imagen.com> In article <74@qmsseq.imagen.com>, pipkins@qmsseq.imagen.com (Jeff Pipkins) wrote: }Incidently, the command tail is not parsed by c0?.obj, but by a function }that it calls. I don't remember its name right now. Same goes for MSC, }the name is setargv() I think. You can link in your own version of this }function if you want. The command tail is stored in the program's PSP }at offset 80h. MSC has a global _psp that has the segment address of }the PSP. { char far *p; FP_SEG(p) = _psp; FP_OFF(p) = 0x80; } TurboC also uses setargv() and _psp. }The byte at 80h has the length of the string, which actually starts at }81h. The first byte (at 81h) is always a blank, and the string always }has a 0x0D byte at the end. 81h is *not* always a blank. If you type FOO/X the command tail FOO is passed at 80h is 02h "/" "X" 0Dh -- UUCP: {ucbvax,harvard}!cs.cmu.edu!ralf -=- 412-268-3053 (school) -=- FAX: ask ARPA: ralf@cs.cmu.edu BIT: ralf%cs.cmu.edu@CMUCCVMA FIDO: Ralf Brown 1:129/46 "How to Prove It" by Dana Angluin Disclaimer? I claimed something? 17. proof by mutual reference: In reference A, Theorem 5 is said to follow from Theorem 3 in reference B, which is shown to follow from Corollary 6.2 in reference C, which is an easy consequence of Theorem 5 in reference A.