diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-06-19 11:32:00 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2020-06-22 08:52:18 +0200 |
commit | a204f13eb6415b9f90ae1563d03e0c719a593fdc (patch) | |
tree | 796f804d1d52e914466989e82f45ad199b206e88 /pyuno | |
parent | 7631cf3837fa5c7327d9017ee2ed7638b449e4a7 (diff) |
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 <tchvatal@suse.com>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Tested-by: Jenkins
Diffstat (limited to 'pyuno')
-rw-r--r-- | pyuno/source/loader/pyuno_loader.cxx | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/pyuno/source/loader/pyuno_loader.cxx b/pyuno/source/loader/pyuno_loader.cxx index ffdb81143961..e35148f8ddbc 100644 --- a/pyuno/source/loader/pyuno_loader.cxx +++ b/pyuno/source/loader/pyuno_loader.cxx @@ -145,6 +145,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 ) { @@ -160,15 +161,24 @@ static void prependPythonPath( const OUString & pythonPathBootstrap ) } OUString systemPath; osl_getSystemPathFromFileURL( fileUrl.pData, &(systemPath.pData) ); - bufPYTHONPATH.append( systemPath ); - bufPYTHONPATH.append( static_cast<sal_Unicode>(SAL_PATHSEPARATOR) ); + if (!systemPath.isEmpty()) + { + if (bAppendSep) + bufPYTHONPATH.append(static_cast<sal_Unicode>(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_Unicode>(SAL_PATHSEPARATOR) ); bufPYTHONPATH.append( OUString(oldEnv, strlen(oldEnv), osl_getThreadTextEncoding()) ); + } OUString envVar("PYTHONPATH"); OUString envValue(bufPYTHONPATH.makeStringAndClear()); |