Index: setup2/source/ui/main.cxx =================================================================== RCS file: /cvs/installation/setup2/source/ui/main.cxx,v retrieving revision 1.114.4.5 diff -u -r1.114.4.5 main.cxx --- setup2/source/ui/main.cxx 10 Feb 2004 13:29:55 -0000 1.114.4.5 +++ setup2/source/ui/main.cxx 6 Apr 2004 19:41:02 -0000 @@ -2579,8 +2579,10 @@ // ----------------------------------------------------------------------- -SAL_IMPLEMENT_MAIN() +// SAL_IMPLEMENT_MAIN() +int main(int argc, char* argv[]) { + osl_setCmdLine(argc, argv); aSetupApp.Main(); #ifdef UNX Index: sal/inc/osl/process.h =================================================================== RCS file: /cvs/porting/sal/inc/osl/process.h,v retrieving revision 1.14 diff -u -r1.14 process.h --- sal/inc/osl/process.h 26 Mar 2003 16:45:37 -0000 1.14 +++ sal/inc/osl/process.h 6 Apr 2004 19:41:07 -0000 @@ -366,6 +366,8 @@ oslSocket SAL_CALL osl_receiveResourcePipe(oslPipe Pipe); +oslProcessError SAL_CALL osl_setCmdLine( int argc, char* argv[] ); + #ifdef __cplusplus } #endif Index: sal/osl/unx/process.c =================================================================== RCS file: /cvs/porting/sal/osl/unx/process.c,v retrieving revision 1.31 diff -u -r1.31 process.c --- sal/osl/unx/process.c 2 Jul 2003 13:34:17 -0000 1.31 +++ sal/osl/unx/process.c 6 Apr 2004 19:41:10 -0000 @@ -202,6 +202,8 @@ static sal_Char CmdLine[CMD_ARG_MAX + 1] = ""; static int nArgCount = -1; +char* sArgs; +int nArgsLen; /****************************************************************************** * @@ -343,7 +345,12 @@ return (pchr); } - return (NULL); + if (sArgs) { + char* pchr = (char*)malloc(sizeof(char*)*nArgsLen); + return memcpy(pchr, sArgs, nArgsLen); + } + else + return (NULL); } #endif @@ -2216,4 +2224,23 @@ return ret; } + +oslProcessError SAL_CALL osl_setCmdLine( int argc, char* argv[] ) +{ + int l = 0; + char* p; + while( argc-- > 0 ) l += strlen(argv[argc]) + 1; + sArgs = (char*)malloc(sizeof(char)*(l+1)); + nArgsLen = l+1; + l = 0; + p = sArgs; + while ( argv[l] ) + { + strcpy(p, argv[l]); + p += strlen(argv[l]) + 1; + l++; + } + *p = 0; + return osl_Process_E_None; +} Index: sal/util/sal.map =================================================================== RCS file: /cvs/porting/sal/util/sal.map,v retrieving revision 1.42.70.1 diff -u -r1.42.70.1 sal.map --- sal/util/sal.map 9 Jan 2004 18:31:53 -0000 1.42.70.1 +++ sal/util/sal.map 6 Apr 2004 19:41:25 -0000 @@ -454,6 +454,8 @@ osl_getCanonicalName; osl_getTextEncodingFromLocale; + osl_setCmdLine; + rtl_getUriCharClass; rtl_uriConvertRelToAbs; rtl_uriEncode;