XPMAINT@TAMVENUS.BITNET (Shane Davis -- CSC XPrint Manager) (03/28/88)
I'm working on a program whose CLD file currently has alternate syntaxes if one of two special qualifiers is specified. I figure this is a good way to do this since a number of the qualifiers can only be used if the image is invoked for one purpose while they are not applicable if a different combination of qualifiers is specified. However, since my program's parsing routines were written when I only had one CLI syntax for every case, I would like to avoid rewriting the parsing routine to check for each special case, though it probably would not be a too incredibly big chore. The problem is that the CLI$PRESENT routine (and the other CLI routines, I'm sure) does not return a value when the command entity is not present for that syntax (CLI$_ENTNF) but calls LIB$SIGNAL (I assume) on my behalf before I can prevent image exit. It is logical enough for my program to assume that if a qualifier entity is not found in the command tables that it does not apply to the particular invocation of the image but apparently CLI will not let me make that determination for myself. I thought perhaps I could call CLI$DCL_PARSE to check the line for me, but according to the VAX/VMS Utiliy Routines Reference Manual (V4.0), "Whenever CLI$DCL_PARSE encounters an error, it both signals and returns the error." Besides, the command line has already been parsed once by DCL before I even start to tinker with the qualifiers given and see no reason to parse it again. Is there any way, short of writing my own condition handler, to keep CLI from signalling this error and have it simply notify my image of the problem? By the time I get a reply to this I will most likely have already rewritten my routine. But I think the CLI routines are inconsistent with most other system services in that they signal the error rather than letting the image handle it...after all, even access violations do not get signaled by system services in most cases; Why did they (DEC) do this? What's so severe and fatal about "specified entity not found in command tables" that images can't be trusted to handle it? Thanks, --Shane Davis Programming Assistant Texas A&M Univ. Computing Svcs. Ctr. Software Systems Group ******************************************************************************** BITnet THEnet Internet XPMAINT@TAMVENUS THOR::XPMAINT xpmaint@venus.tamu.edu RSD1901@TAMSIGMA ZAC::RSD1901 -------- X233SD@TAMVM1 ------ x233sd@tamvm1.tamu.edu SPAN: UTSPAN::UTADNX::(THEnet addr) ********************************************************************************