[an error occurred while processing this directive]

HP OpenVMS Systems

ask the wizard
Content starts here

Calling LIB$FIND_IMAGE_SYMBOL?

» close window

The Question is:

 
Hi,
 
In my code , I am using the lib$find_image_symbol call to invoke
functions in a shared image. The modules in the shared image as well
as the code that invokes  are compiled with switches "as_is" and
"shortened" and hence want to turn on the flag in
lib$find_image_symbol which will invoke symbols without converting
them to uppercase.
 
Here is my code segment to achieve this.
..
unsigned longword flags = LIB$M_FIS_MIXEDCASE;
..
status = LIB$FIND_IMAGE_SYMBOL(&log_dsc, &func_dsc, &retval, 0,
&flags);
 
This is on alpha/openvms 7.3 and the entire code is compiled with
pointer=64.
 
The above segment doesn't seem to work. When I step through the
debugger, the message I get at the point of invoking
lib$find_image_symbol is
 
%LIB-F-INVARG, invalid argument(s)
 
When I change the flags argument to "0", the RTL routine  succeeds but
upcases the symbol by default which is not I want to happen
 
I will greatly appreciate your experience in using the
LIB$M_FIS_MIXEDCASE for this call.
 
Thanks and Regards,
Kannan.
 


The Answer is :

 
  The documentation for LIB$FIND_IMAGE_SYMBOL incorrectly states that the
  flags argument is passed by reference.  Rather, the flags argument should
  be passed by value.
 
  This correction has been noted, and the necessary changes to the OpenVMS
  documentation set will be incorporated as the various OpenVMS manuals
  involved are next available for changes and updates.
 

answer written or last revised on ( 24-JUL-2002 )

» close window