add backup_rom and restore_rom to amend scripts
diff --git a/extendedcommands.c b/extendedcommands.c
index 1c0a130..e9fd1a7 100644
--- a/extendedcommands.c
+++ b/extendedcommands.c
@@ -325,16 +325,36 @@
     return (pid == -1 ? -1 : pstat);
 }
 
-void do_nandroid_backup()
+int do_nandroid_backup(char* backup_name)
 {
+    char cmd[PATH_MAX];
+    if (NULL == backup_name)
+        backup_name = "";
+    sprintf(cmd, "/sbin/nandroid-mobile.sh backup /sdcard/clockworkmod/backup/ %s", backup_name);
     ui_print("Performing backup...\n");
-    int ret = system("/sbin/nandroid-mobile.sh backup /sdcard/clockworkmod/backup/");
+    int ret = system(cmd);
     if (ret != 0)
     {
         ui_print("Error while backing up! Error code: %d\n", ret);
-        return;
+        return ret;
     }
     ui_print("Backup complete.\n");
+    return ret;
+}
+
+int do_nandroid_restore(char* backup_path)
+{
+    char* command[PATH_MAX];
+    sprintf(command, "nandroid-mobile.sh restore %s", backup_path);
+    ui_print("Performing restore...\n");
+    int ret = system(command);
+    if (ret != 0)
+    {
+        ui_print("Error while restoring!\n");
+        return ret;
+    }
+    ui_print("Restore complete.\n");
+    return ret;
 }
 
 void show_nandroid_restore_menu()
@@ -352,16 +372,7 @@
     char* file = choose_file_menu("/sdcard/clockworkmod/backup/", NULL, headers);
     if (file == NULL)
         return;
-    char* command[PATH_MAX];
-    sprintf(command, "nandroid-mobile.sh restore %s", file);
-    ui_print("Performing restore...\n");
-    int ret = system(command);
-    if (ret != 0)
-    {
-        ui_print("Error while restoring!\n");
-        return;
-    }
-    ui_print("Restore complete.\n");
+    do_nandroid_restore(file);
 }
 
 void do_mount_usb_storage()
@@ -456,5 +467,5 @@
     if (register_update_commands(&ctx)) {
         LOGE("Can't install update commands\n");
     }
-    return run_and_remove_extendedcommand(argv[1]);
-}
+    return run_script(argv[1]);
+}
\ No newline at end of file