Kaydet (Commit) 97464be9 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Bogus assert

implementation can indeed be empty when cppu::writeSharedLibComponentInfo calls
getEnvironmentFromModule(mod, curEnv, "", ""), which in the final if-branch
calls getEnvironment with implementation = "".  Happens when adding desktop/qa's
test-active.oxt.  Regression introduced with
ae3a0c8d "Add .component <implementation
constructor='...' feature."

Change-Id: Ia70958e4aa18d378ff35063bdf6187f6e073b765
üst 97ce93ec
...@@ -40,17 +40,19 @@ ...@@ -40,17 +40,19 @@
css::uno::Environment cppuhelper::detail::getEnvironment( css::uno::Environment cppuhelper::detail::getEnvironment(
rtl::OUString const & name, rtl::OUString const & implementation) rtl::OUString const & name, rtl::OUString const & implementation)
{ {
assert(!implementation.isEmpty());
rtl::OUString n(name); rtl::OUString n(name);
static char const * log = std::getenv("UNO_ENV_LOG"); if (!implementation.isEmpty()) {
if (log != nullptr && *log != 0) { static char const * log = std::getenv("UNO_ENV_LOG");
rtl::OString imps(log); if (log != nullptr && *log != 0) {
for (sal_Int32 i = 0; i != -1;) { rtl::OString imps(log);
rtl::OString imp(imps.getToken(0, ';', i)); for (sal_Int32 i = 0; i != -1;) {
//TODO: this assumes UNO_ENV_LOG only contains ASCII characters: rtl::OString imp(imps.getToken(0, ';', i));
if (implementation.equalsAsciiL(imp.getStr(), imp.getLength())) { //TODO: this assumes UNO_ENV_LOG only contains ASCII characters:
n += ":log"; if (implementation.equalsAsciiL(imp.getStr(), imp.getLength()))
break; {
n += ":log";
break;
}
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment