diff options
| -rw-r--r-- | tools/idevicebackup.c | 21 | 
1 files changed, 13 insertions, 8 deletions
| diff --git a/tools/idevicebackup.c b/tools/idevicebackup.c index 6626020..0994e47 100644 --- a/tools/idevicebackup.c +++ b/tools/idevicebackup.c @@ -857,12 +857,6 @@ int main(int argc, char *argv[])  			}  		} -		/* close down the lockdown connection as it is no longer needed */ -		if (client) { -			lockdownd_client_free(client); -			client = NULL; -		} -  		mobilebackup_error_t err;  		/* Manifest.plist (backup manifest (backup state)) */ @@ -902,6 +896,12 @@ int main(int argc, char *argv[])  			plist_free(info_plist);  			info_plist = NULL; +			/* close down the lockdown connection as it is no longer needed */ +			if (client) { +				lockdownd_client_free(client); +				client = NULL; +			} +  			/* create Status.plist with failed status for now */  			mobilebackup_write_status(backup_directory, 0); @@ -1133,7 +1133,14 @@ int main(int argc, char *argv[])  			}  			break;  			case CMD_RESTORE: +			/* close down the lockdown connection as it is no longer needed */ +			if (client) { +				lockdownd_client_free(client); +				client = NULL; +			} +  			/* TODO: verify battery on AC enough battery remaining */ +  			/* verify if Status.plist says we read from an successful backup */  			if (mobilebackup_read_status(backup_directory) <= 0) {  				printf("ERROR: Cannot ensure we restore from a successful backup. Aborting.\n"); @@ -1287,8 +1294,6 @@ int main(int argc, char *argv[])  			if (err != MOBILEBACKUP_E_SUCCESS) {  				printf("ERROR: Could not send BackupMessageRestoreComplete, error code %d\n", err);  			} -			/* TODO: close down notification_proxy connection */ -			client = NULL;  			break;  			case CMD_LEAVE:  			default: | 
