merge
authorTom Sutcliffe <thomas.sutcliffe@accenture.com>
Thu, 09 Sep 2010 15:47:34 +0100
changeset 57 683f4b1f08ce
parent 56 9c352d34f5aa (current diff)
parent 55 27ac5e7cd5fb (diff)
child 58 377ac716dabb
merge
core/src/commands.cpp
--- a/commands/hal/hal.cpp	Thu Sep 09 15:38:45 2010 +0100
+++ b/commands/hal/hal.cpp	Thu Sep 09 15:47:34 2010 +0100
@@ -14,6 +14,7 @@
 #include <hal.h>
 #include <fshell/common.mmh>
 #include <fshell/ltkhal.h>
+#include <fshell/ltkutils.h>
 
 using namespace IoUtils;
 
@@ -127,13 +128,7 @@
 			{
 			if (!iOptions.IsPresent(&iDumpFileName))
 				{
-#ifdef FSHELL_9_1_SUPPORT
-				TInt ch = 'c';
-				HAL::Get(HAL::ESystemDrive, ch);
-				iDumpFileName[0] = 'A' + ch;
-#else
-				iDumpFileName[0] = 'A' + static_cast<TInt>(RFs::GetSystemDrive());
-#endif
+				iDumpFileName[0] = LtkUtils::GetSystemDrive();
 				}
 			RFile file;
 			LeaveIfErr(file.Open(FsL(), iDumpFileName, EFileRead), _L("Couldn't open \"%S\" for reading"), &iDumpFileName);
--- a/core/src/commands.cpp	Thu Sep 09 15:38:45 2010 +0100
+++ b/core/src/commands.cpp	Thu Sep 09 15:47:34 2010 +0100
@@ -3538,8 +3538,6 @@
 	if (err < 0)
 		{
 		aError.Report();
-		const TDesC& scriptPath = Env().GetAsDes(KScriptPath);
-		const TDesC& scriptName = Env().GetAsDes(KScriptName);
 		PrintError(err, _L("Aborted \"%S\" at line %d"), &aError.ScriptFileName(), aError.ScriptLineNumber());
 		}
 	Complete(err);
--- a/core/src/fshell.cpp	Thu Sep 09 15:38:45 2010 +0100
+++ b/core/src/fshell.cpp	Thu Sep 09 15:47:34 2010 +0100
@@ -405,9 +405,7 @@
 		User::LeaveIfError(fs.Connect());
 		_LIT(KPath, "%c:\\sys\\bin\\econs.dll");
 		TBuf<32> econsPath;
-		TChar systemDrive = 'c';
-		fs.DriveToChar(fs.GetSystemDrive(), systemDrive);
-		econsPath.Format(KPath, TUint(systemDrive));
+		econsPath.Format(KPath, LtkUtils::GetSystemDrive());
 		TEntry ioconsEntry;
 		err = fs.Entry(iocons.FileName(), ioconsEntry);
 		if (err == KErrNone)
--- a/core/src/fshell.mmp	Thu Sep 09 15:38:45 2010 +0100
+++ b/core/src/fshell.mmp	Thu Sep 09 15:47:34 2010 +0100
@@ -93,7 +93,7 @@
 #ifdef SBSV2
 sourcepath      /epoc32/build/fshell/core/generated/PLAT
 #else
-sourcepath      \epoc32\build\fshell\core\generated\ ## PLAT
+sourcepath      \epoc32\build\fshell\core\generated\PLAT
 #endif
 source          fshell_version.cpp
 
--- a/libraries/iosrv/bmarm/iocliu.def	Thu Sep 09 15:38:45 2010 +0100
+++ b/libraries/iosrv/bmarm/iocliu.def	Thu Sep 09 15:47:34 2010 +0100
@@ -141,7 +141,7 @@
 	ConnectL__10RIoSession @ 140 NONAME R3UNUSED ; RIoSession::ConnectL(void)
 	Connect__10RIoSession @ 141 NONAME R3UNUSED ; RIoSession::Connect(void)
 	ConsoleImplementation__Q27IoUtils12CCommandBase @ 142 NONAME R3UNUSED ; IoUtils::CCommandBase::ConsoleImplementation(void)
-	CopyL__Q27IoUtils12CEnvironmentRCQ27IoUtils12CEnvironment @ 143 NONAME R3UNUSED ; IoUtils::CEnvironment::CopyL(IoUtils::CEnvironment const &)
+	CopyL__Q27IoUtils12CEnvironmentRCQ27IoUtils12CEnvironment @ 143 NONAME R3UNUSED ABSENT ; IoUtils::CEnvironment::CopyL(IoUtils::CEnvironment const &)
 	Count__CQ27IoUtils12CEnvironment @ 144 NONAME R3UNUSED ; IoUtils::CEnvironment::Count(void) const
 	CreateImplementationLC__CQ27IoUtils25CServerCommandConstructor @ 145 NONAME R3UNUSED ; IoUtils::CServerCommandConstructor::CreateImplementationLC(void) const
 	CreateL__10RIoConsoleR10RIoSessionRC7TDesC16R10RIoConsoleT2RC5TSizeUi @ 146 NONAME ; RIoConsole::CreateL(RIoSession &, TDesC16 const &, RIoConsole &, TDesC16 const &, TSize const &, unsigned int)
@@ -196,8 +196,8 @@
 	Exit__Q27IoUtils11CServerBasei @ 195 NONAME R3UNUSED ; IoUtils::CServerBase::Exit(int)
 	Ext__CQ27IoUtils10TFileName2 @ 196 NONAME R3UNUSED ; IoUtils::TFileName2::Ext(void) const
 	Extension___Q27IoUtils12CCommandBaseUiRPvPv @ 197 NONAME ; IoUtils::CCommandBase::Extension_(unsigned int, void *&, void *)
-	ExternalizeL__CQ27IoUtils12CEnvironmentR5TDes8 @ 198 NONAME R3UNUSED ; IoUtils::CEnvironment::ExternalizeL(TDes8 &) const
-	ExternalizedSize__CQ27IoUtils12CEnvironment @ 199 NONAME R3UNUSED ; IoUtils::CEnvironment::ExternalizedSize(void) const
+	ExternalizeL__CQ27IoUtils12CEnvironmentR5TDes8 @ 198 NONAME R3UNUSED ABSENT ; IoUtils::CEnvironment::ExternalizeL(TDes8 &) const
+	ExternalizedSize__CQ27IoUtils12CEnvironment @ 199 NONAME R3UNUSED ABSENT ; IoUtils::CEnvironment::ExternalizedSize(void) const
 	Factory__Q27IoUtils11CServerBase @ 200 NONAME R3UNUSED ; IoUtils::CServerBase::Factory(void)
 	Factory__Q27IoUtils18CServerCommandBase @ 201 NONAME R3UNUSED ; IoUtils::CServerCommandBase::Factory(void)
 	FindFileL__Q27IoUtils10TFileName2R3RFs @ 202 NONAME R3UNUSED ; IoUtils::TFileName2::FindFileL(RFs &)
@@ -371,11 +371,11 @@
 	Reset__Q27IoUtils14CTextFormatter @ 370 NONAME R3UNUSED ; IoUtils::CTextFormatter::Reset(void)
 	RunCommandL__Q27IoUtils12CCommandBase @ 371 NONAME R3UNUSED ; IoUtils::CCommandBase::RunCommandL(void)
 	RunCommandL__Q27IoUtils12CCommandBasePC7TDesC16PQ27IoUtils12CEnvironment @ 372 NONAME R3UNUSED ; IoUtils::CCommandBase::RunCommandL(TDesC16 const *, IoUtils::CEnvironment *)
-	RunCommandL__Q27IoUtils12CCommandBaseR10RIoSessionR13RIoReadHandleR14RIoWriteHandleT3PC7TDesC16PQ27IoUtils12CEnvironment @ 373 NONAME ; IoUtils::CCommandBase::RunCommandL(RIoSession &, RIoReadHandle &, RIoWriteHandle &, RIoWriteHandle &, TDesC16 const *, IoUtils::CEnvironment *)
-	RunCommand__Q27IoUtils12CCommandBase @ 374 NONAME R3UNUSED ; IoUtils::CCommandBase::RunCommand(void)
-	RunCommand__Q27IoUtils12CCommandBasePC7TDesC16PQ27IoUtils12CEnvironment @ 375 NONAME R3UNUSED ; IoUtils::CCommandBase::RunCommand(TDesC16 const *, IoUtils::CEnvironment *)
-	RunCommand__Q27IoUtils12CCommandBaseR10RIoSessionR13RIoReadHandleR14RIoWriteHandleT3PC7TDesC16PQ27IoUtils12CEnvironment @ 376 NONAME ; IoUtils::CCommandBase::RunCommand(RIoSession &, RIoReadHandle &, RIoWriteHandle &, RIoWriteHandle &, TDesC16 const *, IoUtils::CEnvironment *)
-	RunCommand__Q27IoUtils12CCommandBaseR10RIoSessionR13RIoReadHandleR14RIoWriteHandleT3PC7TDesC16PQ27IoUtils12CEnvironmentPQ27IoUtils20MCommandBaseObserver @ 377 NONAME ; IoUtils::CCommandBase::RunCommand(RIoSession &, RIoReadHandle &, RIoWriteHandle &, RIoWriteHandle &, TDesC16 const *, IoUtils::CEnvironment *, IoUtils::MCommandBaseObserver *)
+	RunCommandL__Q27IoUtils12CCommandBaseR10RIoSessionR13RIoReadHandleR14RIoWriteHandleT3PC7TDesC16PQ27IoUtils12CEnvironment @ 373 NONAME ABSENT ; IoUtils::CCommandBase::RunCommandL(RIoSession &, RIoReadHandle &, RIoWriteHandle &, RIoWriteHandle &, TDesC16 const *, IoUtils::CEnvironment *)
+	RunCommand__Q27IoUtils12CCommandBase @ 374 NONAME R3UNUSED ABSENT ; IoUtils::CCommandBase::RunCommand(void)
+	RunCommand__Q27IoUtils12CCommandBasePC7TDesC16PQ27IoUtils12CEnvironment @ 375 NONAME R3UNUSED ABSENT ; IoUtils::CCommandBase::RunCommand(TDesC16 const *, IoUtils::CEnvironment *)
+	RunCommand__Q27IoUtils12CCommandBaseR10RIoSessionR13RIoReadHandleR14RIoWriteHandleT3PC7TDesC16PQ27IoUtils12CEnvironment @ 376 NONAME ABSENT ; IoUtils::CCommandBase::RunCommand(RIoSession &, RIoReadHandle &, RIoWriteHandle &, RIoWriteHandle &, TDesC16 const *, IoUtils::CEnvironment *)
+	RunCommand__Q27IoUtils12CCommandBaseR10RIoSessionR13RIoReadHandleR14RIoWriteHandleT3PC7TDesC16PQ27IoUtils12CEnvironmentPQ27IoUtils20MCommandBaseObserver @ 377 NONAME ABSENT ; IoUtils::CCommandBase::RunCommand(RIoSession &, RIoReadHandle &, RIoWriteHandle &, RIoWriteHandle &, TDesC16 const *, IoUtils::CEnvironment *, IoUtils::MCommandBaseObserver *)
 	RunError__Q27IoUtils12CCommandBasei @ 378 NONAME R3UNUSED ; IoUtils::CCommandBase::RunError(int)
 	RunL__Q27IoUtils12CCommandBase @ 379 NONAME R3UNUSED ; IoUtils::CCommandBase::RunL(void)
 	Run__Q27IoUtils13RChildProcessR14TRequestStatus @ 380 NONAME R3UNUSED ; IoUtils::RChildProcess::Run(TRequestStatus &)
@@ -519,4 +519,35 @@
 	SubCommand__CQ27IoUtils16CCommandInfoFileRC7TDesC16 @ 518 NONAME R3UNUSED ; IoUtils::CCommandInfoFile::SubCommand(TDesC16 const &) const
 	TypeDescription__Q27IoUtils18CBranchCommandBase @ 519 NONAME R3UNUSED ; IoUtils::CBranchCommandBase::TypeDescription(void)
 	__as__Q27IoUtils5TEnumRCQ27IoUtils5TEnum @ 520 NONAME R3UNUSED ; IoUtils::TEnum::operator=(IoUtils::TEnum const &)
+	AllSet__CQ27IoUtils20RCommandArgumentList @ 521 NONAME R3UNUSED ; IoUtils::RCommandArgumentList::AllSet(void) const
+	Cif__CQ27IoUtils12CCommandBase @ 522 NONAME R3UNUSED ; IoUtils::CCommandBase::Cif(void) const
+	Copyright__CQ27IoUtils16CCommandInfoFile @ 523 NONAME R3UNUSED ; IoUtils::CCommandInfoFile::Copyright(void) const
+	Count__CQ27IoUtils20RCommandArgumentList @ 524 NONAME R3UNUSED ; IoUtils::RCommandArgumentList::Count(void) const
+	CreateEnvironmentL__Q27IoUtils12CCommandBasePQ27IoUtils12CEnvironment @ 525 NONAME R3UNUSED ; IoUtils::CCommandBase::CreateEnvironmentL(IoUtils::CEnvironment *)
+	CreateSharedEnvironmentL__Q27IoUtils12CEnvironment @ 526 NONAME R3UNUSED ; IoUtils::CEnvironment::CreateSharedEnvironmentL(void)
+	CtrlCPressed__Q27IoUtils20MCommandExtensionsV2 @ 527 NONAME R3UNUSED ; IoUtils::MCommandExtensionsV2::CtrlCPressed(void)
+	EnumValueList__CQ27IoUtils6TValue @ 528 NONAME R3UNUSED ; IoUtils::TValue::EnumValueList(void) const
+	EnvVar__CQ27IoUtils6TValue @ 529 NONAME R3UNUSED ; IoUtils::TValue::EnvVar(void) const
+	ExtensionVersion__CQ27IoUtils20MCommandExtensionsV1 @ 530 NONAME R3UNUSED ; IoUtils::MCommandExtensionsV1::ExtensionVersion(void) const
+	ExtensionVersion__CQ27IoUtils20MCommandExtensionsV2 @ 531 NONAME R3UNUSED ; IoUtils::MCommandExtensionsV2::ExtensionVersion(void) const
+	ExternalizeLC__CQ27IoUtils12CEnvironment @ 532 NONAME R3UNUSED ; IoUtils::CEnvironment::ExternalizeLC(void) const
+	GetKeysL__CQ27IoUtils12CEnvironmentRt13RPointerArray1Z7HBufC16 @ 533 NONAME R3UNUSED ; IoUtils::CEnvironment::GetKeysL(RPointerArray<HBufC16> &) const
+	IoSession__C12TIoHandleSet @ 534 NONAME R3UNUSED ; TIoHandleSet::IoSession(void) const
+	KeyPressed__Q27IoUtils20MCommandExtensionsV2UiUi @ 535 NONAME R3UNUSED ; IoUtils::MCommandExtensionsV2::KeyPressed(unsigned int, unsigned int)
+	Normalize__Q27IoUtils10TFileName2R3RFs @ 536 NONAME R3UNUSED ; IoUtils::TFileName2::Normalize(RFs &)
+	ReadKey__Q27IoUtils12CCommandBase @ 537 NONAME R3UNUSED ; IoUtils::CCommandBase::ReadKey(void)
+	RemoveAll__Q27IoUtils12CEnvironment @ 538 NONAME R3UNUSED ; IoUtils::CEnvironment::RemoveAll(void)
+	Session__C9RIoHandle @ 539 NONAME R3UNUSED ; RIoHandle::Session(void) const
+	SetCif__Q27IoUtils12CCommandBaseRCQ27IoUtils16CCommandInfoFile @ 540 NONAME R3UNUSED ; IoUtils::CCommandBase::SetCif(IoUtils::CCommandInfoFile const &)
+	SetExtension__Q27IoUtils12CCommandBasePQ27IoUtils20MCommandExtensionsV1 @ 541 NONAME R3UNUSED ; IoUtils::CCommandBase::SetExtension(IoUtils::MCommandExtensionsV1 *)
+	SetLocalL__Q27IoUtils12CEnvironmentRC7TDesC16 @ 542 NONAME R3UNUSED ; IoUtils::CEnvironment::SetLocalL(TDesC16 const &)
+	Stderr__C12TIoHandleSet @ 543 NONAME R3UNUSED ; TIoHandleSet::Stderr(void) const
+	Stdin__C12TIoHandleSet @ 544 NONAME R3UNUSED ; TIoHandleSet::Stdin(void) const
+	Stdout__C12TIoHandleSet @ 545 NONAME R3UNUSED ; TIoHandleSet::Stdout(void) const
+	StringifyError__CQ27IoUtils20MCommandExtensionsV1i @ 546 NONAME R3UNUSED ; IoUtils::MCommandExtensionsV1::StringifyError(int) const
+	Type__CQ27IoUtils6TValue @ 547 NONAME R3UNUSED ; IoUtils::TValue::Type(void) const
+	ValuePtr__CQ27IoUtils6TValue @ 548 NONAME R3UNUSED ; IoUtils::TValue::ValuePtr(void) const
+	__12TIoHandleSetR10RIoSessionR13RIoReadHandleR14RIoWriteHandleT3 @ 549 NONAME ; TIoHandleSet::TIoHandleSet(RIoSession &, RIoReadHandle &, RIoWriteHandle &, RIoWriteHandle &)
+	__vc__CQ27IoUtils20RCommandArgumentListi @ 550 NONAME R3UNUSED ; IoUtils::RCommandArgumentList::operator[](int) const
+	AcceptsMultiple__CQ27IoUtils6TValue @ 551 NONAME R3UNUSED ; IoUtils::TValue::AcceptsMultiple(void) const
 
--- a/libraries/iosrv/client/command_base.cpp	Thu Sep 09 15:38:45 2010 +0100
+++ b/libraries/iosrv/client/command_base.cpp	Thu Sep 09 15:47:34 2010 +0100
@@ -3632,7 +3632,9 @@
 	return iProcess;
 	}
 
-#define CASE_RETURN_LIT(XXX) case XXX: { _LIT(_KLit, #XXX); return &_KLit; }
+// Really should define a standard CASE_LIT macro that every compiler can handle...
+#include <fshell/descriptorutils.h>
+#define CASE_RETURN_LIT(x) case x: { static const LtkUtils::SLitC KName = DESC(#x); return &KName; }
 #define CASE_RETURN_LIT2(XXX, YYY) case XXX: { _LIT(_KLit, YYY); return &_KLit; }
 #define DEFAULT_RETURN_LIT(XXX) default: { _LIT(_KLit, XXX); return &_KLit; }
 	
--- a/libraries/ltkutils/BMARM/ltkutils-tcb.DEF	Thu Sep 09 15:38:45 2010 +0100
+++ b/libraries/ltkutils/BMARM/ltkutils-tcb.DEF	Thu Sep 09 15:47:34 2010 +0100
@@ -167,4 +167,5 @@
 	FormatSize__8LtkUtilsR5TDes8x @ 166 NONAME ; LtkUtils::FormatSize(TDes8 &, long long)
 	FormatSize___8LtkUtilsR6TDes16x @ 167 NONAME ; LtkUtils::FormatSize_(TDes16 &, long long)
 	Description__CQ28LtkUtils16RAllocatorHelper @ 168 NONAME R3UNUSED ; LtkUtils::RAllocatorHelper::Description(void) const
+	GetSystemDrive__8LtkUtilsv @ 169 NONAME R3UNUSED ; LtkUtils::GetSystemDrive(void)
 
--- a/libraries/ltkutils/BMARM/ltkutils.DEF	Thu Sep 09 15:38:45 2010 +0100
+++ b/libraries/ltkutils/BMARM/ltkutils.DEF	Thu Sep 09 15:47:34 2010 +0100
@@ -181,4 +181,5 @@
 	FormatSize__8LtkUtilsR5TDes8x @ 180 NONAME ; LtkUtils::FormatSize(TDes8 &, long long)
 	FormatSize___8LtkUtilsR6TDes16x @ 181 NONAME ; LtkUtils::FormatSize_(TDes16 &, long long)
 	Description__CQ28LtkUtils16RAllocatorHelper @ 182 NONAME R3UNUSED ; LtkUtils::RAllocatorHelper::Description(void) const
+	GetSystemDrive__8LtkUtilsv @ 183 NONAME R3UNUSED ; LtkUtils::GetSystemDrive(void)
 
--- a/libraries/ltkutils/bwins/ltkutils-tcb.def	Thu Sep 09 15:38:45 2010 +0100
+++ b/libraries/ltkutils/bwins/ltkutils-tcb.def	Thu Sep 09 15:47:34 2010 +0100
@@ -152,4 +152,5 @@
 	?FormatSize@LtkUtils@@YAXAAVTDes8@@_J@Z @ 151 NONAME ; void LtkUtils::FormatSize(class TDes8 &, long long)
 	?FormatSize@LtkUtils@@YAXAAVTDes16@@_J@Z @ 152 NONAME ; void LtkUtils::FormatSize(class TDes16 &, long long)
 	?Description@RAllocatorHelper@LtkUtils@@QBEABVTDesC16@@XZ @ 153 NONAME ; class TDesC16 const & LtkUtils::RAllocatorHelper::Description(void) const
+	?GetSystemDrive@LtkUtils@@YADXZ @ 154 NONAME ; char LtkUtils::GetSystemDrive(void)
 
--- a/libraries/ltkutils/bwins/ltkutils.def	Thu Sep 09 15:38:45 2010 +0100
+++ b/libraries/ltkutils/bwins/ltkutils.def	Thu Sep 09 15:47:34 2010 +0100
@@ -181,4 +181,5 @@
 	?FormatSize@LtkUtils@@YAXAAVTDes8@@_J@Z @ 180 NONAME ; void LtkUtils::FormatSize(class TDes8 &, long long)
 	?FormatSize@LtkUtils@@YAXAAVTDes16@@_J@Z @ 181 NONAME ; void LtkUtils::FormatSize(class TDes16 &, long long)
 	?Description@RAllocatorHelper@LtkUtils@@QBEABVTDesC16@@XZ @ 182 NONAME ; class TDesC16 const & LtkUtils::RAllocatorHelper::Description(void) const
+	?GetSystemDrive@LtkUtils@@YADXZ @ 183 NONAME ; char LtkUtils::GetSystemDrive(void)
 
--- a/libraries/ltkutils/eabi/ltkutils-tcb.def	Thu Sep 09 15:38:45 2010 +0100
+++ b/libraries/ltkutils/eabi/ltkutils-tcb.def	Thu Sep 09 15:47:34 2010 +0100
@@ -182,4 +182,5 @@
 	_ZN8LtkUtils10FormatSizeER5TDes8x @ 181 NONAME
 	_ZN8LtkUtils10FormatSizeER6TDes16x @ 182 NONAME
 	_ZNK8LtkUtils16RAllocatorHelper11DescriptionEv @ 183 NONAME
+	_ZN8LtkUtils14GetSystemDriveEv @ 184 NONAME
 
--- a/libraries/ltkutils/eabi/ltkutils.def	Thu Sep 09 15:38:45 2010 +0100
+++ b/libraries/ltkutils/eabi/ltkutils.def	Thu Sep 09 15:47:34 2010 +0100
@@ -218,4 +218,5 @@
 	_ZN8LtkUtils10FormatSizeER5TDes8x @ 217 NONAME
 	_ZN8LtkUtils10FormatSizeER6TDes16x @ 218 NONAME
 	_ZNK8LtkUtils16RAllocatorHelper11DescriptionEv @ 219 NONAME
+	_ZN8LtkUtils14GetSystemDriveEv @ 220 NONAME
 
--- a/libraries/ltkutils/inc/ltkutils.h	Thu Sep 09 15:38:45 2010 +0100
+++ b/libraries/ltkutils/inc/ltkutils.h	Thu Sep 09 15:47:34 2010 +0100
@@ -65,6 +65,9 @@
 	template <class T>
 	inline void CleanupResetPushL(T& aRef);
 
+
+	IMPORT_C char GetSystemDrive(); // 9.1 doesn't have RFs::GetSystemDrive()
+
 	/****
 	 * The functions below are not available if you're linking against ltkutils-tcb.dll. They
 	 * rely on being able to link against All -TCB dlls.
--- a/libraries/ltkutils/src/ltkhal.cpp	Thu Sep 09 15:38:45 2010 +0100
+++ b/libraries/ltkutils/src/ltkhal.cpp	Thu Sep 09 15:47:34 2010 +0100
@@ -9,9 +9,12 @@
 // Initial Contributors:
 // Accenture - Initial contribution
 //
+#include <fshell/ltkutils.h>
 #include <fshell/ltkhal.h>
 #include <fshell/descriptorutils.h>
+#include <fshell/common.mmh>
 #include <HAL.h>
+#include <f32file.h>
 
 LtkUtils::CHalAttribute::CHalAttribute(TInt aAttribute, TInt aDeviceNumber, TInt aValue, TInt aError, const TDesC& aAttributeName, HBufC* aDescription)
 	: iAttribute(aAttribute), iDeviceNumber(aDeviceNumber), iValue(aValue), iError(aError), iAttributeName(aAttributeName), iDescription(aDescription)
@@ -341,3 +344,16 @@
 	CleanupStack::Pop(&buf); // attrib now owns its HBufC*
 	return attrib;
 	}
+
+EXPORT_C char LtkUtils::GetSystemDrive()
+	{
+#ifdef FSHELL_9_1_SUPPORT
+	TInt ch = EDriveC;
+	HAL::Get(HAL::ESystemDrive, ch);
+	return 'a' + ch;
+#else
+	TChar systemDrive = 'c';
+	RFs::DriveToChar(RFs::GetSystemDrive(), systemDrive);
+	return (char)(TUint)systemDrive;
+#endif
+	}
--- a/plugins/consoles/vt100cons/BMARM/vt100U.def	Thu Sep 09 15:38:45 2010 +0100
+++ b/plugins/consoles/vt100cons/BMARM/vt100U.def	Thu Sep 09 15:47:34 2010 +0100
@@ -9,7 +9,7 @@
 	GetKeyPress__25CVtConsoleInputControllerR9TKeyPressR14TRequestStatus @ 8 NONAME R3UNUSED ; CVtConsoleInputController::GetKeyPress(TKeyPress &, TRequestStatus &)
 	KeyCode__C15CVtcConsoleBase @ 9 NONAME R3UNUSED ; CVtcConsoleBase::KeyCode(void) const
 	KeyModifiers__C15CVtcConsoleBase @ 10 NONAME R3UNUSED ; CVtcConsoleBase::KeyModifiers(void) const
-	Message__15CVtcConsoleBaseQ215CVtcConsoleBase10TVerbosityGt11TRefByValue1ZC7TDesC16e @ 11 NONAME ; CVtcConsoleBase::Message(CVtcConsoleBase::TVerbosity, TRefByValue<TDesC16 const>,...)
+	Message__15CVtcConsoleBaseQ215CVtcConsoleBase10TVerbosityGt11TRefByValue1ZC7TDesC16e @ 11 NONAME ABSENT ; CVtcConsoleBase::Message(CVtcConsoleBase::TVerbosity, TRefByValue<TDesC16 const>,...)
 	NewLC__25CVtConsoleInputControllerR13MConsoleInputRQ28LtkUtils8CIniFile @ 12 NONAME R3UNUSED ; CVtConsoleInputController::NewLC(MConsoleInput &, LtkUtils::CIniFile &)
 	NewL__25CVtConsoleInputControllerR13MConsoleInputRQ28LtkUtils8CIniFile @ 13 NONAME R3UNUSED ; CVtConsoleInputController::NewL(MConsoleInput &, LtkUtils::CIniFile &)
 	NewL__26CVtConsoleOutputControllerR14MConsoleOutputRQ28LtkUtils8CIniFileRC5TSize @ 14 NONAME R3UNUSED ; CVtConsoleOutputController::NewL(MConsoleOutput &, LtkUtils::CIniFile &, TSize const &)
@@ -31,7 +31,8 @@
 	__15CVtcConsoleBase @ 30 NONAME R3UNUSED ; CVtcConsoleBase::CVtcConsoleBase(void)
 	__9TKeyPress @ 31 NONAME R3UNUSED ; TKeyPress::TKeyPress(void)
 	CancelGetKeyPress__25CVtConsoleInputController @ 32 NONAME R3UNUSED ; CVtConsoleInputController::CancelGetKeyPress(void)
-	Debug__15CVtcConsoleBase @ 33 NONAME R3UNUSED ; CVtcConsoleBase::Debug(void)
-	SetDebug__15CVtcConsoleBasei @ 34 NONAME R3UNUSED ; CVtcConsoleBase::SetDebug(int)
+	Debug__15CVtcConsoleBase @ 33 NONAME R3UNUSED ABSENT ; CVtcConsoleBase::Debug(void)
+	SetDebug__15CVtcConsoleBasei @ 34 NONAME R3UNUSED ABSENT ; CVtcConsoleBase::SetDebug(int)
 	ReadKeywordValuePair__15CVtcConsoleBaseR6TLex16R7TPtrC16T2 @ 35 NONAME R3UNUSED ; CVtcConsoleBase::ReadKeywordValuePair(TLex16 &, TPtrC16 &, TPtrC16 &)
+	ConstructL__15CVtcConsoleBaseRC7TDesC16i @ 36 NONAME R3UNUSED ; CVtcConsoleBase::ConstructL(TDesC16 const &, int)