summaryrefslogtreecommitdiff
path: root/cpputools/source/registercomponent/registercomponent.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cpputools/source/registercomponent/registercomponent.cxx')
-rw-r--r--cpputools/source/registercomponent/registercomponent.cxx15
1 files changed, 3 insertions, 12 deletions
diff --git a/cpputools/source/registercomponent/registercomponent.cxx b/cpputools/source/registercomponent/registercomponent.cxx
index 70e469ddba23..c487d95c59a5 100644
--- a/cpputools/source/registercomponent/registercomponent.cxx
+++ b/cpputools/source/registercomponent/registercomponent.cxx
@@ -66,10 +66,6 @@ using com::sun::star::container::XSet;
using com::sun::star::container::XContentEnumerationAccess;
using com::sun::star::container::XEnumeration;
-#ifdef SAL_W32
-#define putenv _putenv
-#endif
-
namespace {
OUString replacePrefix(OUString const & url, OUString const & prefix) {
@@ -313,14 +309,9 @@ sal_Bool parseOptions(int ac, char* av[], Options& rOptions, sal_Bool bCmdFile)
i++;
if( i < ac )
{
- // leak this string as some platforms assume to own
- // the pointer
- sal_Char * p = (sal_Char *) rtl_allocateMemory( 13+ strlen( av[i] ) );
- p[0] = 0;
- strcat( p, "CLASSPATH=" ); // #100211# - checked
- strcat( p, av[i] ); // #100211# - checked
-
- putenv( p );
+ rtl::OUString envVar(RTL_CONSTASCII_USTRINGPARAM("CLASSPATH"));
+ rtl::OUString envValue(av[i], strlen(av[i]), osl_getThreadTextEncoding());
+ osl_setEnvironment(envVar.pData, envValue.pData);
}
break;
}