Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!rutgers!ucla-cs!zen!ucbvax!CITHEX.CALTECH.EDU!carl From: carl@CITHEX.CALTECH.EDU (Carl J Lydick) Newsgroups: comp.os.vms Subject: Re: Yet another bug in VMS C Message-ID: <870728114022.02d@CitHex.Caltech.Edu> Date: Tue, 28-Jul-87 14:50:36 EDT Article-I.D.: CitHex.870728114022.02d Posted: Tue Jul 28 14:50:36 1987 Date-Received: Sat, 1-Aug-87 11:56:25 EDT References: <880@bsu-cs.UUCP> Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 25 > I have discovered truly bizarre behavior in C for VAX/VMS. The > command-line arguments are folded to all lowercase. The only way of > preserving case seems to be to enclose arguments in double quotes. > Thus a command like > > tr a-z A-Z > > won't work. > > How does one tell it not to do it? I could find no references to this > in the index of the VMS C manual. This is not bizarre behavior on the part of C; it is well-documented behavior on the part of both DCL and C. Quoting from page 11-31 of "Programming in VAX C": DCL converts most arguments on the command line to uppercase letters. However, VAX C internally parses and midifies the altered command line to make VAX C argument access compatible with C programs developed on other systems. All alphabetic arguments in the commnd line are delimited by spaces or tabs. Arguments that have embedded spaces or tabs must be enclosed in quotation marks (" "). Uppercase characters in arguments are converted to lowercase, but arguments within quotation marks are left unchanged.