summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pyuno/source/module/pyuno_module.cxx5
-rw-r--r--sal/osl/unx/process_impl.cxx21
-rw-r--r--sal/osl/w32/process.cxx15
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)
{