Assert expressions with strings
Lyndon VanWagner
lvw at rama.UUCP
Fri Mar 8 00:57:33 AEST 1991
We have just ran into a problem using the assert() macro, as defined in
/usr/include/assert.h under Ultrix 4.0+, on a DECstation 3100/5000.
We had wanted to perform an assertion of a string (char *) against the
empty string:
assert(!strcmp(cp,""))
The problem occurs because Ultrix's assert attempts to print the
assertion expression by the following:
#define assert(EX) if (EX) ; else __assert("EX",__FILE__,__LINE__)
We get a syntax error upon the expanded "EX" when EX contains double quotes.
How is everyone else handling this problem? We had never run into this
before because we hand never tried using an expression with quotes.
Can you help us by giving the answer to this general problem?
Oh, by the way, this is also the way AT&T defined assert in System V rel 2.
This is no problem under SunOS 4.1+, as they don't try expanding the
expression!
Thankyou.
--
-----------------------------------------------------------------------------
Lyndon C. VanWagner Internet:lvw at rama.sc.harris.com
Software Engineer -or- rama!lvw at uu.psi.com
Framework Development Group UUCP: ...!{uupsi,tropix}!rama!lvw
Harris Corporation PHONE: (716) 924-9303 ext. 226
Scientific Calculations Division, Fishers, NY 14453
-----------------------------------------------------------------------------
Cornfield's Law (paraphrased):
Before anything can change, everyone must agree.
By the time that happens its a different problem.
-----------------------------------------------------------------------------
More information about the Comp.lang.c
mailing list