Path: utzoo!utgpu!water!watmath!clyde!cbosgd!rayssd!m1b From: m1b@rayssd.ray.com (M. Joseph Barone) Newsgroups: comp.os.vms Subject: Re: Use of RMS from VAX C Message-ID: <1817@rayssd.ray.com> Date: 16 Feb 88 17:29:19 GMT References: <8802150715.AA23998@ucbvax.Berkeley.EDU> Sender: m1b@rayssd.ray.com (M. Joseph Barone @ Raytheon Company, Portsmouth RI) Reply-To: m1b@rayssd.RAY.COM (M. Joseph Barone) Organization: Raytheon Company, Portsmouth RI Lines: 20 In article <8802150715.AA23998@ucbvax.Berkeley.EDU> XPMAINT@TAMVENUS.BITNET (Shane Davis -- CSC XPrint Programmer) writes: > > I'm trying to use the RMS services $PARSE and $SEARCH to process wildcard file > specifications. However, the VAX C compiler (V2.3) flags an error "Invalid > right operand of an &= operator" at this statement: > > file_fab.fab$l_nam=&file_nam; The error message is a good indication of exactly what went wrong. The old style AND bitwise operator can be represented by '=&'. Apparently, VAX C still supports this. The compiler thinks you're trying to perform an AND operation rather than store an address in a variable. To get around this problem, merely insert spaces around the '=', such as: file_fab.fab$l_nam = &file_nam; Joe Barone ---------------------------> m1b@rayssd.RAY.COM {cbosgd, gatech, ihnp4, linus, mirror, uiucdcs}!rayssd!m1b Heroes have an infinite capacity for stupidity. Thus are legends born!