[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - cppuhelper/source

Stephan Bergmann sbergman at redhat.com
Fri Nov 13 07:22:13 PST 2015


 cppuhelper/source/shlib.cxx |   22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

New commits:
commit 2466c85c001761da6979e0e1b3a0b15d4b2bdd32
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Nov 13 15:59:33 2015 +0100

    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
    ae3a0c8da50b36db395984637f5ad74d3b4887bc "Add .component <implementation
    constructor='...' feature."
    
    (cherry picked from commit 97464be9808c0d349be8b84fea6973527496bf26)
    Conflicts:
    	cppuhelper/source/shlib.cxx
    
    Change-Id: Ia70958e4aa18d378ff35063bdf6187f6e073b765
    Reviewed-on: https://gerrit.libreoffice.org/19956
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/cppuhelper/source/shlib.cxx b/cppuhelper/source/shlib.cxx
index 258e9cb..a87071e 100644
--- a/cppuhelper/source/shlib.cxx
+++ b/cppuhelper/source/shlib.cxx
@@ -40,17 +40,19 @@
 css::uno::Environment cppuhelper::detail::getEnvironment(
     rtl::OUString const & name, rtl::OUString const & implementation)
 {
-    assert(!implementation.isEmpty());
     rtl::OUString n(name);
-    static char const * log = std::getenv("UNO_ENV_LOG");
-    if (log != 0 && *log != 0) {
-        rtl::OString imps(log);
-        for (sal_Int32 i = 0; i != -1;) {
-            rtl::OString imp(imps.getToken(0, ';', i));
-            //TODO: this assumes UNO_ENV_LOG only contains ASCII characters:
-            if (implementation.equalsAsciiL(imp.getStr(), imp.getLength())) {
-                n += ":log";
-                break;
+    if (!implementation.isEmpty()) {
+        static char const * log = std::getenv("UNO_ENV_LOG");
+        if (log != 0 && *log != 0) {
+            rtl::OString imps(log);
+            for (sal_Int32 i = 0; i != -1;) {
+                rtl::OString imp(imps.getToken(0, ';', i));
+                //TODO: this assumes UNO_ENV_LOG only contains ASCII characters:
+                if (implementation.equalsAsciiL(imp.getStr(), imp.getLength()))
+                {
+                    n += ":log";
+                    break;
+                }
             }
         }
     }


More information about the Libreoffice-commits mailing list