8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 04:43:03 +01:00

Fixed CORE-3576: Make ICU built with U_DISABLE_RENAMING load correctly - thanks to Treeve Jelbert

This commit is contained in:
alexpeshkoff 2011-10-11 06:46:53 +00:00
parent 3fa29b4bcc
commit ae198472d3

View File

@ -78,17 +78,21 @@ public:
template <typename T> void getEntryPoint(const char* name, ModuleLoader::Module* module, T& ptr)
{
// ICU has too lot of schemas for entries names
const char* patterns[] =
{
"%s_%d_%d", "%s_%d%d", "%s", NULL
};
string symbol;
symbol.printf("%s_%d_%d", name, majorVersion, minorVersion);
module->findSymbol(symbol, ptr);
if (ptr)
return;
symbol.printf("%s_%d%d", name, majorVersion, minorVersion);
module->findSymbol(symbol, ptr);
if (ptr)
return;
for (const char** p = patterns; *p; ++p)
{
symbol.printf(*p, name, majorVersion, minorVersion);
module->findSymbol(symbol, ptr);
if (ptr)
return;
}
(Arg::Gds(isc_random) << "Missing entrypoint in ICU library" <<
Arg::Gds(isc_random) << name).raise();