//DEF074278: Java VM requires more command line testArguments. void Defect_DEF074278_Part2() { TBuf<180> testArguments(_L("one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen twenty twenty-one twenty-two twenty-three twenty-four ")); TBuf<210> inputArguments; TUint testArgNo = 25; int argc=0; char** argv=0; char** envp=0; TheTest.Printf(_L("Retrieving the arguments passed in from T_UCRT0P1\n")); __crt0(argc,argv,envp); // get args & environment from somewhere //Get all the arguments into a descriptor, beginning at pos 1, as pos 0 contains //the T_UCRT0P2 exe path and name. for (TInt i=1; i < argc; i++) { char *str=argv[i]; while(*str) inputArguments.Append((TChar)*str++); inputArguments.Append(' '); } //tests all the arguments were passed to the new process correctly. TheTest.Printf(_L("Checking all arguements were passed to the new process correctly... ")); TEST(testArguments == inputArguments ); TEST2(testArgNo, argc); exit(0); }
GLDEF_C TInt E32Main() { CTrapCleanup::New(); RWin32Stream::StartServer(); // arrange for access to Win32 stdin/stdout/stderr SpawnPosixServerThread(); // arrange for multi-threaded operation int argc=0; wchar_t** wargv=0; wchar_t** wenvp=0; __crt0(argc,wargv,wenvp); // get args & environment from somewhere #ifndef EKA2 // Cause the graphical Window Server to come into existence RSemaphore sem; sem.CreateGlobal(_L("WsExeSem"),0); RegisterWsExe(sem.FullName()); #endif int ret=wmain(argc, wargv, wenvp); // go // no need to explicitly delete the cleanup stack here as all memory used by // the process will be released by RProcess::Terminate(), called from inside exit(). exit(ret); // to get atexit processing, eventually terminates this process return(KErrNone); }
GLDEF_C TInt QtMainWrapper() { int argc = 0; char **argv = 0; char **envp = 0; // get args & environment __crt0(argc, argv, envp); //Call user(application)'s main TRAPD(ret, QT_TRYCATCH_LEAVING(ret = CALLMAIN(argc, argv, envp);));
GLDEF_C TInt E32Main() { //Create Cleanup Stack CTrapCleanup* pCleanup = CTrapCleanup::New(); if( pCleanup ) { int argc=0; wchar_t** wargv=0; wchar_t** wenvp=0; #ifdef SYMBIAN_OE_POSIX_SIGNALS sigenable(); #endif // get args & environment from somewhere //coverity[alloc_fn] __crt0(argc,wargv,wenvp); //Call user(application)'s main int ret = 0; //coverity[leave_without_push] TRAPD(retVal, ret = wmain(argc, wargv, wenvp)); if(!ret) { ret = retVal; } // finish with atexit processing which terminates this process exit(ret); if (wenvp) { for (int i = 0; wenvp[i]; ++i) { User::Free(wenvp[i]); } User::Free(wenvp); } delete pCleanup; } else return KErrNoMemory; return(KErrNone); }