--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/deprecated/buildtools/emulatorlauncher/src/RunPerl.cpp Wed Oct 27 16:03:51 2010 +0800
@@ -0,0 +1,80 @@
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// RunPerl.cpp : Defines the entry point for the console application.
+//
+//
+
+
+#include <stdlib.h>
+#include <string.h>
+
+void main(int argc, char* argv[])
+ {
+
+ char** args = new char*[argc+3];
+ int index = 0;
+
+ char* p = argv[0];
+ int pl = strlen(p);
+ if((pl >= 4) &&
+ (*(p+pl-4)=='.') &&
+ (*(p+pl-3)=='e' || *(p+pl-3)=='E') &&
+ (*(p+pl-2)=='x' || *(p+pl-2)=='X') &&
+ (*(p+pl-1)=='e' || *(p+pl-1)=='E'))
+ *(p+pl-4)='\0';
+ char* cmd = new char[strlen(p)+4];
+ strcpy(cmd,p);
+ strcat(cmd,".pl");
+
+ args[index++] = "perl";
+ args[index++] = "-S";
+ args[index++] = cmd;
+
+ for(int i=1; i<argc; i++)
+ {
+ args[index++] = argv[i];
+ }
+
+ args[index] = NULL;
+
+ int sz = 0;
+
+ for(i=0; args[i]; i++)
+ {
+ sz += strlen(args[i]) + 3;
+ }
+
+ char *s = new char[sz];
+ strcpy(s,args[0]);
+ strcat(s," ");
+ strcat(s,args[1]);
+ strcat(s," ");
+ strcat(s,args[2]);
+
+ for(i=3; args[i]; i++)
+ {
+ strcat(s," \"");
+ strcat(s,args[i]);
+ strcat(s,"\"");
+ }
+
+ int r = system(s);
+
+ delete[] s;
+ delete[] args;
+ delete[] cmd;
+
+ exit (r);
+ }
+