| 611 | |
| 612 | |
| 613 | bool IntlManager::lookupCharSet(const string& charSetName, charset* cs) |
| 614 | { |
| 615 | ExternalInfo externalInfo; |
| 616 | |
| 617 | if (charSetCollations->get(charSetName + ":" + charSetName, externalInfo)) |
| 618 | { |
| 619 | pfn_INTL_lookup_charset lookupFunction = NULL; |
| 620 | |
| 621 | if (externalInfo.moduleName.isEmpty()) |
| 622 | lookupFunction = INTL_builtin_lookup_charset; |
| 623 | else |
| 624 | { |
| 625 | ModuleLoader::Module* module; |
| 626 | |
| 627 | if (modules->get(externalInfo.moduleName, module) && module) |
| 628 | module->findSymbol(NULL, STRINGIZE(CHARSET_ENTRYPOINT), lookupFunction); |
| 629 | } |
| 630 | |
| 631 | if (lookupFunction && (*lookupFunction)(cs, externalInfo.name.c_str(), |
| 632 | externalInfo.configInfo.c_str())) |
| 633 | { |
| 634 | return validateCharSet(charSetName, cs); |
| 635 | } |
| 636 | } |
| 637 | |
| 638 | return false; |
| 639 | } |
| 640 | |
| 641 | |
| 642 | void IntlManager::lookupCollation(const string& collationName, |
nothing calls this directly
no test coverage detected