diff options
author | Caolán McNamara <caolanm@redhat.com> | 2010-10-18 15:45:17 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2010-10-18 15:45:17 +0100 |
commit | c3b0a4073d2e4917c5a010548ae2a1eb5ebbf9a5 (patch) | |
tree | 76a19cfb10c5d1c0070cac7fa8a41cac92c2d33d /pyuno | |
parent | f7dc4d73859ba109a54d01f137241d7848a587cf (diff) |
#i112656# add osl_setEnvironment and osl_clearEnvironment
Diffstat (limited to 'pyuno')
-rw-r--r-- | pyuno/source/loader/pyuno_loader.cxx | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/pyuno/source/loader/pyuno_loader.cxx b/pyuno/source/loader/pyuno_loader.cxx index a7353d944..fe0b6996b 100644 --- a/pyuno/source/loader/pyuno_loader.cxx +++ b/pyuno/source/loader/pyuno_loader.cxx @@ -124,8 +124,7 @@ static void setPythonHome ( const OUString & pythonHome ) static void prependPythonPath( const OUString & pythonPathBootstrap ) { - rtl::OStringBuffer bufPYTHONPATH( 256 ); - bufPYTHONPATH.append( "PYTHONPATH="); + rtl::OUStringBuffer bufPYTHONPATH( 256 ); sal_Int32 nIndex = 0; while( 1 ) { @@ -141,21 +140,19 @@ static void prependPythonPath( const OUString & pythonPathBootstrap ) } OUString systemPath; osl_getSystemPathFromFileURL( fileUrl.pData, &(systemPath.pData) ); - bufPYTHONPATH.append( rtl::OUStringToOString( systemPath.pData, osl_getThreadTextEncoding() )); - bufPYTHONPATH.append( SAL_PATHSEPARATOR ); + bufPYTHONPATH.append( systemPath ); + bufPYTHONPATH.append( static_cast<sal_Unicode>(SAL_PATHSEPARATOR) ); if( nNew == -1 ) break; nIndex = nNew + 1; } const char * oldEnv = getenv( "PYTHONPATH"); if( oldEnv ) - bufPYTHONPATH.append( oldEnv ); - OString result = bufPYTHONPATH.makeStringAndClear(); - rtl_string_acquire( result.pData ); + bufPYTHONPATH.append( rtl::OUString(oldEnv, strlen(oldEnv), osl_getThreadTextEncoding()) ); -// printf( "Setting %s\n" , result.pData->buffer ); - putenv( result.pData->buffer ); - + rtl::OUString envVar(RTL_CONSTASCII_USTRINGPARAM("PYTHONPATH")); + rtl::OUString envValue(bufPYTHONPATH.makeStringAndClear()); + osl_setEnvironment(envVar.pData, envValue.pData); } Reference< XInterface > CreateInstance( const Reference< XComponentContext > & ctx ) |