![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
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.
|