The redundant lt_dlerror() calls were taken from the examples to clean
any previous errors from lt_dl...() calls. However upon code
inspection, it was discovered there are no such paths that could cause
the lt_dlerror() to return spurious error messages.
cd->dl_path, symbol, errmsg);
}
}
- /* Cleanup any errors */
- (void)lt_dlerror();
+
return (ptr);
}
goto failed;
}
- (void)lt_dlerror();
-
/* Find the symbols */
cd->dlz_version =
(dlz_dlopen_version_t *)dl_load_symbol(cd, "dlz_version", true);
symbol_name, filename, errmsg);
return (ISC_R_FAILURE);
}
- (void)lt_dlerror();
*symbolp = symbol;
CHECK(ISC_R_FAILURE);
}
- /* Clear dlerror */
- (void)lt_dlerror();
-
CHECK(load_symbol(handle, filename, "dyndb_version",
(void **)&version_func));
REQUIRE(handle != NULL);
REQUIRE(symbolp != NULL && *symbolp == NULL);
- /*
- * Clear any pre-existing error conditions before running dlsym().
- * (In this case, we expect dlsym() to return non-NULL values
- * and will always return an error if it returns NULL, but
- * this ensures that we'll report the correct error condition
- * if there is one.)
- */
- lt_dlerror();
symbol = lt_dlsym(handle, symbol_name);
if (symbol == NULL) {
const char *errmsg = lt_dlerror();