From 4e338a3126568ad3995795ea16d9955db8c6e002 Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Tue, 17 Jul 2012 17:56:49 +0200 Subject: restore: Parse and return AMRError value as error code in StatusMsg handler --- src/restore.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/restore.c b/src/restore.c index f0e79c6..676d449 100644 --- a/src/restore.c +++ b/src/restore.c @@ -522,14 +522,22 @@ int restore_handle_status_msg(restored_client_t client, plist_t msg) { break; case 6: info("Status: Disk Failure\n"); - result = -1; break; case 14: info("Status: Fail\n"); - result = -1; + break; + case 1015: + info("Status: X-Gold Baseband Update Failed. Defective Unit?\n"); break; default: info("Unhandled status message (" FMT_qu ")\n", (long long unsigned int)value); + break; + } + + node = plist_dict_get_item(msg, "AMRError"); + if (node && plist_get_node_type(node) == PLIST_UINT) { + plist_get_uint_val(node, &value); + result = -value; } return result; -- cgit v1.1-32-gdbae