Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!hellgate.utah.edu!caen!zaphod.mps.ohio-state.edu!usc!elroy.jpl.nasa.gov!ncar!gatech!mcnc!rti!mozart!walker From: walker@unx.sas.com (Doug Walker) Newsgroups: comp.sys.amiga.tech Subject: Re: Bugs in Lattice C 5.05 Keywords: SAS C Lattice Bugs 5.05 Message-ID: <1990Nov15.184915.18887@unx.sas.com> Date: 15 Nov 90 18:49:15 GMT References: Distribution: comp Organization: SAS Institute Inc. Lines: 39 In article phil@adam.adelaide.edu.au (Phil Kernick) writes: >I have found the following bug in Lattice/SAS C 5.05 and wonder if it >is fixed in 5.10 or if someone can give me a workaround (can anybody >in SAS technical support hear me out there ????). SAS Tech support does not support usenet, so they are not listening. I might be able to be of some help, however. Please call them at (919)677-8000 or FAX them at (919)677-8123 if you need to talk to them. >It all fails because of the quotes in the -d option, so my question is >how do you use the -d option if the symbol has imbedded quotes Apparently, you can't. lc must put double-quotes around all the arguments it passes to lc1; these double-quotes interfere with yours. There is no way of escaping the double-quotes. You CAN do this if you invoke lc1 yourself, without using lc. Pass the argument just like you listed it: lc1 -dFUBAR="hello" test You will, of course, have to run lc2 on it individually as well. Another way to do it is to use the stringization feature of the preprocessor: /* In your source code: */ #define STRING(x) #x then on the command line... lc -dFUBAR=STRING(hello) test ***** =*|_o_o|\\=====Doug Walker, Software Distiller====== BBS: (919)460-7430 = *|. o.| || 1200/2400/9600 Dual | o |// For all you do, this bug's for you! ====== usenet: ...mcnc!rti!sas!walker plink: dwalker bix: djwalker