harald@itk.unit.no (02/06/90)
I am trying to detect the server type in my resource file:
#if VENDOR == "MIT X Consortium"
....
#endif
This is based on the predefined symbols in xrdb:
% xrdb -s
-DHOST=unix -DSERVERHOST=unix -DCLIENTHOST=tone -DVERSION=11 -DREVISION=0 -DVEN
DOR="MIT X Consortium" -DRELEASE=4 -DWIDTH=1152 -DHEIGHT=900 -DX_RESOLUTION=3545
-DY_RESOLUTION=3543 -DPLANES=8 -DBITS_PER_RGB=8 -DCLASS=PseudoColor -DCOLOR
But my test in the resource file fails:
% xrdb -merge resourcefile
34: syntax error (in preprocessor if)
Why?
System: X11R4, SunOS 4.0.3.c, Sun4
Regards, Harald Backer
////////////////////////////////////////////////////////////////////////
/ Harald Backer / harald@itk.unit.no /
/ SINTEF Automatic Control / (+47 7) 594375 Switchboard /
/ The Norwegian Institute of Technology / (+47 7) 594399 Fax /
/ N-7034 Trondheim / /
/ NORWAY / /
////////////////////////////////////////////////////////////////////////
BTW, how can I store a symbol in the resource data base - permanently?
In
%xrdb -Dsym=value resourcefile
the definition of `sym' lasts only for this single run.casey@gauss.llnl.gov (Casey Leedom) (02/07/90)
| From: harald@itk.unit.no | | I am trying to detect the server type in my resource file: | | #if VENDOR == "MIT X Consortium" | .... | #endif | | But my test in the resource file fails: | | % xrdb -merge resourcefile | 34: syntax error (in preprocessor if) That's because cpp only knows how to compare numeric constants with "==". You'll have to think up a way to cast what you want to do into a numeric or boolean (#ifdef) domain. You can't compare strings.