secureswitools/swisistools/source/interpretsislib/sisfile.cpp
branchRCL_3
changeset 66 8b7f4e561641
parent 65 7333d7932ef7
child 73 79647526f98c
--- a/secureswitools/swisistools/source/interpretsislib/sisfile.cpp	Tue Aug 31 15:21:33 2010 +0300
+++ b/secureswitools/swisistools/source/interpretsislib/sisfile.cpp	Wed Sep 01 12:22:02 2010 +0100
@@ -207,7 +207,6 @@
 		std::string x = wstring2string(this->GetPackageName());
 		throw InvalidSis(x, error, SIS_NOT_SUPPORTED);
 		}
-
 	}
 
 bool SisFile::ProcessInstallOptionsWarning(const CSISInstallBlock& aInstallBlock, std::string& aError)
@@ -219,7 +218,7 @@
 		{
 		const CSISFileDescription& fD = aInstallBlock.FileDescription(i);
         const CSISFileDescription::TSISFileOperation operation = fD.Operation();
-		std::wstring target(fD.Target().GetString().c_str());
+		std::wstring target(fD.Target().GetString());
         //
         switch( operation )
             {
@@ -277,7 +276,7 @@
 			break;
 	    	}
 		}
-		return success;
+	return success;
 	}
 
 
@@ -423,9 +422,9 @@
 
 		if (ifBlock.WasteOfSpace())
 			{
-			std::string x;
 			std::string error = "corrupt SIS file";
-			throw InvalidSis(Ucs2ToUtf8(this->GetPackageName(),x), error, INVALID_SIS);
+			std::string x = wstring2string(this->GetPackageName());
+			throw InvalidSis(x, error, INVALID_SIS);
 			}
 
 		// Main expression
@@ -446,7 +445,8 @@
 				ProcessInstallBlock(ifElseBlock.InstallBlock(), aFiles, aEvaluator, aDrivePath, aInstallingDrive);
 				break;	// Stop processing else if blocks
 				}
-			
+			// Process the rest of the files
+			GetInstallableFiles(aFiles, ifElseBlock.InstallBlock(), aDrivePath, aInstallingDrive);
 			}
 		} 
 	}