[comp.lang.c] Yet another bug in VMS C

dhesi@bsu-cs.UUCP (Rahul Dhesi) (07/25/87)

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.
-- 
Rahul Dhesi         UUCP:  {ihnp4,seismo}!{iuvax,pur-ee}!bsu-cs!dhesi

heisterb@uiucuxe.cso.uiuc.edu (07/26/87)

RE: all arguments to a VAX/VMS C program are converted to lower case

I think you've discovered truly normal behavior in VMS.  All command line
arguments are converted to UPPER case by DCL.  The C run time routines then
convert everything to lower case for your convenience.  You already know the
answer to your question, just quote the necessary arguments.

Isn't a "bug" an instance of a product performing a documented operation
incorrectly, rather than simply performing an operation differently than
you expect?  Now since the latter can be an anoyance, that could be the
definition of a bug, but the two are not equivalent!

DJ Heisterberg
National Center for Superconfusing Applications
heisterb@uxe.cso.uiuc.edu
13004@ncsa[a|b].ncsa.uiuc.edu

garrity@garrity.applicon.UUCP (07/28/87)

> 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.
>   .
>   .
>   .
> 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 the compilers fault.  The command line interpreter is doing it
to you.  They have been converted to upper-case before your code ever saw 
them.  Therefore there is nothing you can do in the code to fix it.  Sorry.


-- Mike Garrity
--
-- snail: Applicon, a division of Schlumberger Systems, Inc.
--        829 Middlesex Tpk.
--        P.O. box 7004
--        Billerica MA, 01821
--
-- uucp: {allegra|decvax|mit-eddie|utzoo}!linus!raybed2!applicon!garrity
--       {amd|bbncca|cbosgd|wjh12|ihnp4|yale}!ima!applicon!garrity