diff options
author | Matúš Kukan <matus.kukan@gmail.com> | 2011-07-11 17:41:58 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@novell.com> | 2011-07-11 17:47:02 +0100 |
commit | 6d8f44b0bb27d97d679d2a6f699a25048a905951 (patch) | |
tree | dbeac427a27ba219d75b9b9804527eb8b5b29b24 | |
parent | 27a81bb077daa5491761762ac18d3970ce1a7bb2 (diff) |
Default to current language binding name, if not specified.
Signed-off-by: Michael Meeks <michael.meeks@novell.com>
-rw-r--r-- | cppuhelper/source/shlib.cxx | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/cppuhelper/source/shlib.cxx b/cppuhelper/source/shlib.cxx index 1fb136acf..a97945431 100644 --- a/cppuhelper/source/shlib.cxx +++ b/cppuhelper/source/shlib.cxx @@ -270,16 +270,13 @@ static OUString makeComponentPath( } //============================================================================== -static OUString getLibEnv(OUString const & aModulePath, - oslModule lib, - uno::Environment * pEnv, +static OUString getLibEnv(oslModule lib, + uno::Environment * pEnv, OUString * pSourceEnv_name, uno::Environment const & cTargetEnv, OUString const & cImplName = OUString(), OUString const & rPrefix = OUString()) { - OUString aExcMsg; - sal_Char const * pEnvTypeName = NULL; OUString aGetEnvNameExt = rPrefix + OUSTR(COMPONENT_GETENVEXT); @@ -300,15 +297,10 @@ static OUString getLibEnv(OUString const & aModulePath, if (pGetImplEnv) pGetImplEnv(&pEnvTypeName, (uno_Environment **)pEnv); - else - { - aExcMsg = aModulePath; - aExcMsg += OUSTR(": cannot get symbol: "); - aExcMsg += aGetEnvName; - aExcMsg += OUSTR("- nor: "); - } + else // this symbol used to be mandatory, but is no longer + pEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; } - + if (!pEnv->is() && pEnvTypeName) { *pSourceEnv_name = OUString::createFromAscii(pEnvTypeName); @@ -326,12 +318,10 @@ static OUString getLibEnv(OUString const & aModulePath, *pSourceEnv_name += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":log")); break; } - } while( nIndex != -1 ); + } while( nIndex != -1 ); } - } - - return aExcMsg; + return OUString(); } extern "C" {static void s_getFactory(va_list * pParam) @@ -389,7 +379,7 @@ Reference< XInterface > SAL_CALL loadSharedLibComponentFactory( OUString aEnvTypeName; - OUString aExcMsg = getLibEnv(aModulePath, lib, &env, &aEnvTypeName, currentEnv, rImplName, rPrefix); + OUString aExcMsg = getLibEnv(lib, &env, &aEnvTypeName, currentEnv, rImplName, rPrefix); if (!aExcMsg.getLength()) { OUString aGetFactoryName = rPrefix + OUSTR(COMPONENT_GETFACTORY); @@ -535,7 +525,7 @@ void SAL_CALL writeSharedLibComponentInfo( uno::Environment env; OUString aEnvTypeName; - OUString aExcMsg = getLibEnv(aModulePath, lib, &env, &aEnvTypeName, currentEnv); + OUString aExcMsg = getLibEnv(lib, &env, &aEnvTypeName, currentEnv); if (!aExcMsg.getLength()) { OUString aWriteInfoName = OUSTR(COMPONENT_WRITEINFO); |