aboutsummaryrefslogtreecommitdiffstats
path: root/heimdall/source/main.cpp
diff options
context:
space:
mode:
authorBenjamin Dobell <benjamin.dobell@glassechidna.com.au>2011-07-21 02:43:49 +1000
committerBenjamin Dobell <benjamin.dobell@glassechidna.com.au>2011-07-21 02:43:49 +1000
commitbabef8e580c4b9d2daae1bd7b4092b59b5fa70be (patch)
tree87155afe8e797d1d0b6a24f12725c07c6d23995f /heimdall/source/main.cpp
parent7dc796a98872a58b1c29b3248f1296d731f0caea (diff)
downloadexternal_heimdall-babef8e580c4b9d2daae1bd7b4092b59b5fa70be.zip
external_heimdall-babef8e580c4b9d2daae1bd7b4092b59b5fa70be.tar.gz
external_heimdall-babef8e580c4b9d2daae1bd7b4092b59b5fa70be.tar.bz2
- Added file extension checks to Heimdall Frontend (for partition files).
- Made sure Heimdall command line always returns 1 if a device is not detected. - Minor interface tweaks for Heimdall Frontend.
Diffstat (limited to 'heimdall/source/main.cpp')
-rw-r--r--heimdall/source/main.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/heimdall/source/main.cpp b/heimdall/source/main.cpp
index f5bf173..a3ae962 100644
--- a/heimdall/source/main.cpp
+++ b/heimdall/source/main.cpp
@@ -244,7 +244,7 @@ void closeFiles(map<string, FILE *> argumentfileMap)
argumentfileMap.clear();
}
-bool getDeviceInfo(BridgeManager *bridgeManager)
+bool retrieveDeviceInfo(BridgeManager *bridgeManager)
{
// ---------- GET DEVICE INFORMATION ----------
@@ -271,6 +271,8 @@ bool getDeviceInfo(BridgeManager *bridgeManager)
Interface::PrintError("Unexpected device info response!\nExpected: 180, 0 or 3\nReceived:%d\n", deviceInfoResult);
return (false);
}
+
+ return (true);
}
int downloadPitFile(BridgeManager *bridgeManager, unsigned char **pitBuffer)
@@ -643,10 +645,12 @@ int main(int argc, char **argv)
Interface::PrintReleaseInfo();
Sleep(1000);
- if (!bridgeManager->Initialise())
+ int initialiseResult = bridgeManager->Initialise();
+
+ if (initialiseResult != 0)
{
delete bridgeManager;
- return (0);
+ return ((initialiseResult == BridgeManager::kInitialiseDeviceNotDetected) ? 1 : 0);
}
bool success;
@@ -666,7 +670,7 @@ int main(int argc, char **argv)
return (0);
}
- if (!bridgeManager->BeginSession() || !getDeviceInfo(bridgeManager))
+ if (!bridgeManager->BeginSession() || !retrieveDeviceInfo(bridgeManager))
{
closeFiles(argumentFileMap);
delete bridgeManager;
@@ -686,7 +690,7 @@ int main(int argc, char **argv)
case Interface::kActionClosePcScreen:
{
- if (!bridgeManager->BeginSession() || !getDeviceInfo(bridgeManager))
+ if (!bridgeManager->BeginSession() || !retrieveDeviceInfo(bridgeManager))
{
delete bridgeManager;
return (-1);
@@ -713,7 +717,7 @@ int main(int argc, char **argv)
return (0);
}
- if (!bridgeManager->BeginSession() || !getDeviceInfo(bridgeManager))
+ if (!bridgeManager->BeginSession() || !retrieveDeviceInfo(bridgeManager))
{
delete bridgeManager;
fclose(outputPitFile);
@@ -764,7 +768,7 @@ int main(int argc, char **argv)
int chipId = atoi(argumentMap.find(Interface::actions[Interface::kActionDump].valueArguments[Interface::kDumpValueArgChipId])->second.c_str());
- if (!bridgeManager->BeginSession() || !getDeviceInfo(bridgeManager))
+ if (!bridgeManager->BeginSession() || !retrieveDeviceInfo(bridgeManager))
{
fclose(dumpFile);
@@ -783,7 +787,7 @@ int main(int argc, char **argv)
case Interface::kActionPrintPit:
{
- if (!bridgeManager->BeginSession() || !getDeviceInfo(bridgeManager))
+ if (!bridgeManager->BeginSession() || !retrieveDeviceInfo(bridgeManager))
{
delete bridgeManager;
return (-1);