symname_dsc, sym, 0, flags);
}
+# ifndef LIB$M_FIS_MIXEDCASE
+# define LIB$M_FIS_MIXEDCASE (1 << 4);
+# endif
void vms_bind_sym(DSO *dso, const char *symname, void **sym)
{
DSO_VMS_INTERNAL *ptr;
- int status;
-# ifdef LIB$M_FIS_MIXEDCASE
- int flags = LIB$M_FIS_MIXEDCASE;
-# else
- int flags = (1 << 4);
-# endif
+ int status = 0;
struct dsc$descriptor_s symname_dsc;
/* Arrange 32-bit pointer to (copied) string storage, if needed. */
return;
}
- if (dso->flags & DSO_FLAG_UPCASE_SYMBOL)
- flags = 0;
+ status = do_find_symbol(ptr, &symname_dsc, sym, LIB$M_FIS_MIXEDCASE);
- status = do_find_symbol(ptr, &symname_dsc, sym, flags);
+ if (!$VMS_STATUS_SUCCESS(status))
+ status = do_find_symbol(ptr, &symname_dsc, sym, 0);
if (!$VMS_STATUS_SUCCESS(status)) {
unsigned short length;
*/
# define DSO_FLAG_NAME_TRANSLATION_EXT_ONLY 0x02
-/*
- * The following flag controls the translation of symbol names to upper case.
- * This is currently only being implemented for OpenVMS.
- */
-# define DSO_FLAG_UPCASE_SYMBOL 0x10
-
/*
* This flag loads the library with public symbols. Meaning: The exported
* symbols of this library are public to all libraries loaded after this