diff --git a/mozilla/xpfe/appshell/src/nsCommandLineService.cpp b/mozilla/xpfe/appshell/src/nsCommandLineService.cpp index 033ce1f8c77..3cc382c357f 100644 --- a/mozilla/xpfe/appshell/src/nsCommandLineService.cpp +++ b/mozilla/xpfe/appshell/src/nsCommandLineService.cpp @@ -42,25 +42,28 @@ public: NS_DECL_ISUPPORTS - NS_IMETHOD Initialize(int argc, char** argv); - NS_IMETHOD GetCmdLineValue(char* arg, char **value); + NS_IMETHOD Initialize(PRInt32 aArgc, char** aArgv); + NS_IMETHOD GetCmdLineValue(char* aArg, char **aValue); NS_IMETHOD GetURLToLoad(char ** aResult); NS_IMETHOD GetProgramName(char ** aResult); -// nsresult PrintCmdArgs(); + NS_IMETHOD GetArgc(PRInt32 * aResult); + NS_IMETHOD GetArgv(char ** aResult[]); protected: virtual ~nsCmdLineService(); nsVoidArray mArgList; // The arguments nsVoidArray mArgValueList; // The argument values - PRInt32 mArgCount; // This is not argc. This is # of argument pairs + PRInt32 mArgCount; // This is not argc. This is # of argument pairs // in the arglist and argvaluelist arrays. This // normally is argc/2. + PRInt32 mArgc; // This is argc; + char ** mArgv; // This is argv; }; nsCmdLineService::nsCmdLineService() - : mArgCount(0) + : mArgCount(0), mArgc(0), mArgv(0) { NS_INIT_REFCNT(); } @@ -71,34 +74,37 @@ nsCmdLineService::nsCmdLineService() NS_IMPL_ISUPPORTS(nsCmdLineService, kICommandLineServiceIID); NS_IMETHODIMP -nsCmdLineService::Initialize(int argc, char ** argv) +nsCmdLineService::Initialize(int aArgc, char ** aArgv) { PRInt32 i=0; nsresult rv = nsnull; + // Save aArgc and argv + mArgc = aArgc; + mArgv = aArgv; //Insert the program name - if (argv[0]) + if (aArgv[0]) { mArgList.AppendElement((void *)PL_strdup("-progname")); - mArgValueList.AppendElement((void *)PL_strdup(argv[0])); + mArgValueList.AppendElement((void *)PL_strdup(aArgv[0])); mArgCount++; i++; } - for(i=1; i