summaryrefslogtreecommitdiff
path: root/symbian/PerlApp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'symbian/PerlApp.cpp')
-rw-r--r--symbian/PerlApp.cpp36
1 files changed, 23 insertions, 13 deletions
diff --git a/symbian/PerlApp.cpp b/symbian/PerlApp.cpp
index d90cc044ff..ffca7afc52 100644
--- a/symbian/PerlApp.cpp
+++ b/symbian/PerlApp.cpp
@@ -77,7 +77,7 @@ TUid CPerlAppApplication::AppDllUid() const
return KPerlAppUid;
}
-enum TPerlAppPanic
+enum TPerlAppPanic
{
EPerlAppCommandUnknown = 1
};
@@ -115,12 +115,12 @@ static TBool IsInInbox(TFileName aFileName)
static TBool IsPerlModule(TParsePtrC aParsed)
{
- return aParsed.Ext().CompareF(_L(".pm")) == 0;
+ return aParsed.Ext().CompareF(_L(".pm")) == 0;
}
static TBool IsPerlScript(TParsePtrC aParsed)
{
- return aParsed.Ext().CompareF(_L(".pl")) == 0;
+ return aParsed.Ext().CompareF(_L(".pl")) == 0;
}
static void CopyFromInboxL(RFs aFs, const TFileName& aSrc, const TFileName& aDst)
@@ -182,7 +182,7 @@ static TBool FindPerlPackageName(TPeekBuffer aPeekBuffer, TInt aOff, TFileName&
isALPHA(aPeekBuffer[j])) {
while (j < n &&
isALNUM(aPeekBuffer[j]) &&
- i < m)
+ i < m)
aFn[i++] = aPeekBuffer[j++];
}
}
@@ -238,7 +238,7 @@ static TBool InstallStuffL(const TFileName &aSrc, TParse aDrive, TParse aFile, T
{
TFileName aDst;
TPtrC drive = aDrive.Drive();
- TPtrC namext = aFile.NameAndExt();
+ TPtrC namext = aFile.NameAndExt();
aDst.Format(_L("%S%S%S"), &drive, &KScriptPrefix, &namext);
if (!IsPerlScript(aDst) && !LooksLikePerlL(aPeekBuffer)) {
@@ -266,7 +266,7 @@ static TBool RunStuffL(const TFileName& aScriptName, TPeekBuffer aPeekBuffer)
if (isModule)
message.Format(_L("Really run module %S?"), &aScriptName);
- else
+ else
message.Format(_L("Run %S?"), &aScriptName);
if (CPerlUi::YesNoDialogL(message))
DoRunScriptL(aScriptName);
@@ -435,9 +435,9 @@ void CPerlAppAppUi::DoHandleCommandL(TInt aCommand) {
#ifdef __SERIES60__
_LIT(prompt, "Oneliner:");
#endif /* #ifdef __SERIES60__ */
-#if defined(__SERIES80__) || defined(__UIQ__)
+#if defined(__SERIES80__) || defined(__SERIES90__) || defined(__UIQ__)
_LIT(prompt, "Code:"); // The title has "Oneliner" already.
-#endif /* #if defined(__SERIES80__) || defined(__UIQ__) */
+#endif /* #if defined(__SERIES80__) || defined(__SERIES90__) || defined(__UIQ__) */
CPerlAppAppUi* cAppUi =
static_cast<CPerlAppAppUi*>(CEikonEnv::Static()->EikAppUi());
if (CPerlUi::TextQueryDialogL(_L("Oneliner"),
@@ -450,16 +450,26 @@ void CPerlAppAppUi::DoHandleCommandL(TInt aCommand) {
CnvUtfConverter::ConvertFromUnicodeToUtf8(utf8,
cAppUi->iOneLiner);
CPerlBase* perl = CPerlBase::NewInterpreterLC();
- int argc = 3;
- char **argv = (char**) malloc(argc * sizeof(char *));
+#ifdef __SERIES90__
+ int argc = 5;
+#else
+ int argc = 3;
+#endif
+ char **argv = (char**) malloc(argc * sizeof(char *));
User::LeaveIfNull(argv);
TCleanupItem argvCleanupItem = TCleanupItem(free, argv);
CleanupStack::PushL(argvCleanupItem);
argv[0] = (char *) "perl";
argv[1] = (char *) "-le";
+#ifdef __SERIES90__
+ argv[2] = (char *) "unshift @INC, 'C:/Mydocs';";
+ argv[3] = (char *) "-e";
+ argv[4] = (char *) utf8.PtrZ();
+#else
argv[2] = (char *) utf8.PtrZ();
- perl->ParseAndRun(argc, argv);
+#endif
+ perl->ParseAndRun(argc, argv);
CleanupStack::PopAndDestroy(2, perl);
}
}
@@ -497,7 +507,7 @@ void CPerlAppAppUi::DoHandleCommandL(TInt aCommand) {
}
}
-CApaDocument* CPerlAppApplication::CreateDocumentL()
+CApaDocument* CPerlAppApplication::CreateDocumentL()
{
CPerlAppDocument* cDoc = new (ELeave) CPerlAppDocument(*this);
return cDoc;
@@ -524,7 +534,7 @@ CFileStore* CPerlAppDocument::OpenFileL(TBool aDoOpen, const TDesC& aFileName, R
#endif // #ifndef PerlAppMinimal
-EXPORT_C CApaApplication* NewApplication()
+EXPORT_C CApaApplication* NewApplication()
{
return new CPerlAppApplication;
}