in src/main/native/org/apache/commons/crypto/org_apache_commons_crypto.h [117:133]
static __attribute__ ((unused))
void *do_dlsym_fallback(JNIEnv *env, void *handle, const char *symbol, const char *fallback) {
if (!env || !handle) {
THROW(env, "java/lang/InternalError", NULL);
return NULL;
}
char *error = NULL;
void *func_ptr = dlsym(handle, symbol);
if (func_ptr == NULL) {
func_ptr = dlsym(handle, fallback);
}
if ((error = dlerror()) != NULL) {
THROW(env, "java/lang/UnsatisfiedLinkError", symbol);
return NULL;
}
return func_ptr;
}