[net.decus] Quotes on DCL command line

tomc@oakhill.UUCP (Tom Cunningham) (09/06/86)

Any of you VMS folks know a clever way to cleanly quote a single quote
on the DCL command line?  I have an application written in VAX C that
does its own command line parsing via argc/argv.  One type of argument
needs to be triple quoted thusly: '''argval'''.  In other words, all
six single quotes, along with argval, need to get passed in to the
application.  I realize the single quote is some kind of whizbang
metacharacter in DCL, but I have really had to jump through hoops to
make this work.  Any suggestions?

Also, does anyone know of a tar, PD or otherwise, that works with VMS?
Many thanks to those of you who responded to my query about software
distribution!

Tom Cunningham     "Good, fast, cheap -- select two."
USPS:  Motorola Inc.  6501 William Cannon Dr. W.  Austin, TX 78735-8598
UUCP:  {ihnp4,seismo,ctvax,gatech}!ut-sally!oakhill!tomc
       sun!oakhill!tomc
Phone: 512-440-2953

toma@killer.UUCP (Tom Armistead) (09/09/86)

In article <759@oakhill.UUCP>, tomc@oakhill.UUCP (Tom Cunningham) writes:
> Any of you VMS folks know a clever way to cleanly quote a single quote
> on the DCL command line?  I have an application written in VAX C that
> does its own command line parsing via argc/argv.  One type of argument
> needs to be triple quoted thusly: '''argval'''.  In other words, all
> six single quotes, along with argval, need to get passed in to the
> application.  I realize the single quote is some kind of whizbang
> metacharacter in DCL, but I have really had to jump through hoops to
> make this work.  Any suggestions?

I have had problems much like this in the past and never found any real
solutions, the quote ' and " are special characters to DCL and never
passed as arguments without haveing to to type a long command line
like "'"+"'"+"'"+"argval"+"'"+"'"+"'" to achieve this purpose, I think
you will run into a dead end trying to figure a way around this.
My solutions in the past have been to us the back quote, `. and change
that to the regular quote in my pgm. I really don't think there is any
other viable solution unless you to a gets() from within your program
These strings like '''argval''' can be passed at that level...

Good luck, and I would really be interested in any solution that you
may or may not come up with

Tom
---
UUCP:
                          ihnp4\
                                \killer!toma
                                /
  drillsys!infoswx!convex!dj3b1/

Tom Armistead