diff options
-rw-r--r-- | pyuno/source/module/pyuno_module.cxx | 5 | ||||
-rw-r--r-- | sal/osl/unx/process_impl.cxx | 21 | ||||
-rw-r--r-- | sal/osl/w32/process.cxx | 15 |
3 files changed, 10 insertions, 31 deletions
diff --git a/pyuno/source/module/pyuno_module.cxx b/pyuno/source/module/pyuno_module.cxx index e7ebb7355201..c2ca67b28bac 100644 --- a/pyuno/source/module/pyuno_module.cxx +++ b/pyuno/source/module/pyuno_module.cxx @@ -27,7 +27,6 @@ #include <osl/module.hxx> #include <osl/thread.h> -#include <osl/process.h> #include <osl/file.hxx> #include <typelib/typedescription.hxx> @@ -250,10 +249,6 @@ static PyObject* getComponentContext( } else { - // cppu::defaultBootstrap_InitialComponentContext expects - // command line arguments to be present - osl_setCommandArgs(0, 0); // fake it - OUString iniFile; if( path.isEmpty() ) { diff --git a/sal/osl/unx/process_impl.cxx b/sal/osl/unx/process_impl.cxx index 56c4925a2391..3942f14d5cee 100644 --- a/sal/osl/unx/process_impl.cxx +++ b/sal/osl/unx/process_impl.cxx @@ -164,7 +164,7 @@ sal_uInt32 SAL_CALL osl_getCommandArgCount (void) sal_uInt32 result = 0; pthread_mutex_lock (&(g_command_args.m_mutex)); - assert (g_command_args.m_nCount != 0); + SAL_WARN_IF (g_command_args.m_nCount == 0, "sal.osl", "osl_setCommandArgs() not called before calling osl_getCommandArgCount()"); if (g_command_args.m_nCount > 0) result = g_command_args.m_nCount - 1; pthread_mutex_unlock (&(g_command_args.m_mutex)); @@ -204,26 +204,13 @@ int SAL_CALL osl_areCommandArgsSet (void) **************************************/ void SAL_CALL osl_setCommandArgs (int argc, char ** argv) { - // special case for argc == 0: set up fake command line - int nArgs(argc ? argc : 1); + OSL_ASSERT(argc > 0); pthread_mutex_lock (&(g_command_args.m_mutex)); assert (g_command_args.m_nCount == 0); if (g_command_args.m_nCount == 0) { - rtl_uString** ppArgs = - (rtl_uString**)rtl_allocateZeroMemory(nArgs * sizeof(rtl_uString*)); - if (ppArgs != 0 && argc == 0) - { - // special case: set up fake command line - char const*const arg = - "this is just a fake and cheap imitation of a command line"; - rtl_string2UString(&ppArgs[0], - arg, rtl_str_getLength(arg), RTL_TEXTENCODING_ASCII_US, - OSTRING_TO_OUSTRING_CVTFLAGS); - g_command_args.m_nCount = nArgs; - g_command_args.m_ppArgs = ppArgs; - } - else if (ppArgs != 0) + rtl_uString** ppArgs = (rtl_uString**)rtl_allocateZeroMemory (argc * sizeof(rtl_uString*)); + if (ppArgs != 0) { rtl_TextEncoding encoding = osl_getThreadTextEncoding(); for (int i = 0; i < argc; i++) diff --git a/sal/osl/w32/process.cxx b/sal/osl/w32/process.cxx index 786e299811b7..6db821baa104 100644 --- a/sal/osl/w32/process.cxx +++ b/sal/osl/w32/process.cxx @@ -259,20 +259,16 @@ static struct CommandArgs_Impl g_command_args = #pragma warning( push ) #pragma warning( disable: 4100 ) #endif -static rtl_uString ** osl_createCommandArgs_Impl (int & argc, char **) +static rtl_uString ** osl_createCommandArgs_Impl (int argc, char **) { - int nArgs(0); - LPWSTR *wargv = CommandLineToArgvW( GetCommandLineW(), &nArgs ); - if (argc != nArgs) - { - assert(argc == 0 /* special case - faked */); - argc = nArgs; - } rtl_uString ** ppArgs = - (rtl_uString**)rtl_allocateZeroMemory(nArgs * sizeof(rtl_uString*)); + (rtl_uString**)rtl_allocateZeroMemory (argc * sizeof(rtl_uString*)); if (ppArgs != 0) { int i; + int nArgs; + LPWSTR *wargv = CommandLineToArgvW( GetCommandLineW(), &nArgs ); + OSL_ASSERT( nArgs == argc ); for (i = 0; i < nArgs; i++) { /* Convert to unicode */ @@ -385,6 +381,7 @@ int SAL_CALL osl_areCommandArgsSet(void) void SAL_CALL osl_setCommandArgs (int argc, char ** argv) { + OSL_ASSERT(argc > 0); osl_acquireMutex (*osl_getGlobalMutex()); if (g_command_args.m_nCount == 0) { |