//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);
	}
Exemple #2
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);));
Exemple #4
0
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);
	}