From: Caolán McNamara Date: Fri, 19 Jun 2020 10:32:00 +0000 (+0100) Subject: tdf#121384 don't leave a bare trailing : in PYTHONPATH X-Git-Tag: archive/raspbian/1%6.1.5-3+rpi1+deb10u7^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=7ad82943aa9179090ace48fc8afb9db9c1f32763;p=libreoffice.git tdf#121384 don't leave a bare trailing : in PYTHONPATH and don't insert any empty path entries if that situation was to arise Change-Id: I8d8183485f457c3e4385181fee07390c4bfef603 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96707 Reviewed-by: Tomáš Chvátal Reviewed-by: Adolfo Jayme Barrientos Tested-by: Jenkins (cherry picked from commit b72705d5391b849fc70a0a4cac33523c0ea5d054) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96803 Tested-by: Stephan Bergmann Reviewed-by: Stephan Bergmann Gbp-Pq: Name fix-PYTHONPATH.diff --- diff --git a/pyuno/source/loader/pyuno_loader.cxx b/pyuno/source/loader/pyuno_loader.cxx index 31b4f8f494f..db8eda2547e 100644 --- a/pyuno/source/loader/pyuno_loader.cxx +++ b/pyuno/source/loader/pyuno_loader.cxx @@ -146,6 +146,7 @@ static void setPythonHome ( const OUString & pythonHome ) static void prependPythonPath( const OUString & pythonPathBootstrap ) { OUStringBuffer bufPYTHONPATH( 256 ); + bool bAppendSep = false; sal_Int32 nIndex = 0; while( true ) { @@ -161,15 +162,24 @@ static void prependPythonPath( const OUString & pythonPathBootstrap ) } OUString systemPath; osl_getSystemPathFromFileURL( fileUrl.pData, &(systemPath.pData) ); - bufPYTHONPATH.append( systemPath ); - bufPYTHONPATH.append( static_cast(SAL_PATHSEPARATOR) ); + if (!systemPath.isEmpty()) + { + if (bAppendSep) + bufPYTHONPATH.append(static_cast(SAL_PATHSEPARATOR)); + bufPYTHONPATH.append(systemPath); + bAppendSep = true; + } if( nNew == -1 ) break; nIndex = nNew + 1; } const char * oldEnv = getenv( "PYTHONPATH"); if( oldEnv ) + { + if (bAppendSep) + bufPYTHONPATH.append( static_cast(SAL_PATHSEPARATOR) ); bufPYTHONPATH.append( OUString(oldEnv, strlen(oldEnv), osl_getThreadTextEncoding()) ); + } OUString envVar("PYTHONPATH"); OUString envValue(bufPYTHONPATH.makeStringAndClear());