|
|
|
@ -1381,9 +1381,9 @@ int Xorriso_rename(struct XorrisO *xorriso, void *boss_iter,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int Xorriso_cannot_clone(struct XorrisO *xorriso, char *eff_origin,
|
|
|
|
|
char *eff_dest, int flag)
|
|
|
|
|
char *eff_dest, int iso_error, int flag)
|
|
|
|
|
{
|
|
|
|
|
Xorriso_report_iso_error(xorriso, eff_dest, 0, "Cannot clone",
|
|
|
|
|
Xorriso_report_iso_error(xorriso, eff_dest, iso_error, "Cannot clone",
|
|
|
|
|
0, "FAILURE", 1);
|
|
|
|
|
sprintf(xorriso->info_text, "Failed to clone ");
|
|
|
|
|
Text_shellsafe(eff_origin, xorriso->info_text, 1);
|
|
|
|
@ -1467,7 +1467,7 @@ int Xorriso_clone_tree(struct XorrisO *xorriso, void *boss_iter,
|
|
|
|
|
ret = iso_tree_clone(origin_node, new_parent, leafname, &new_node, 0);
|
|
|
|
|
Xorriso_process_msg_queues(xorriso,0);
|
|
|
|
|
if(ret < 0) {
|
|
|
|
|
Xorriso_cannot_clone(xorriso, eff_origin, eff_dest, 0);
|
|
|
|
|
Xorriso_cannot_clone(xorriso, eff_origin, eff_dest, ret, 0);
|
|
|
|
|
return(0);
|
|
|
|
|
}
|
|
|
|
|
Xorriso_set_change_pending(xorriso, 0);
|
|
|
|
@ -1506,7 +1506,7 @@ int Xorriso_clone_under(struct XorrisO *xorriso, char *origin, char *dest,
|
|
|
|
|
while(iso_dir_iter_next(iter, &origin_node) == 1) {
|
|
|
|
|
namept= (char *) iso_node_get_name(origin_node);
|
|
|
|
|
sprintf(eff_origin, "%s/%s", origin, namept);
|
|
|
|
|
sprintf(eff_dest, "%s%s", dest, namept);
|
|
|
|
|
sprintf(eff_dest, "%s/%s", dest, namept);
|
|
|
|
|
if(pass == 0) {
|
|
|
|
|
ret= Xorriso_node_from_path(xorriso, volume, eff_dest, &new_node, 1);
|
|
|
|
|
if(ret < 0)
|
|
|
|
@ -1521,7 +1521,7 @@ int Xorriso_clone_under(struct XorrisO *xorriso, char *origin, char *dest,
|
|
|
|
|
ret = iso_tree_clone(origin_node, dest_dir, namept, &new_node, 0);
|
|
|
|
|
Xorriso_process_msg_queues(xorriso,0);
|
|
|
|
|
if(ret < 0) {
|
|
|
|
|
Xorriso_cannot_clone(xorriso, eff_origin, eff_dest, 0);
|
|
|
|
|
Xorriso_cannot_clone(xorriso, eff_origin, eff_dest, ret, 0);
|
|
|
|
|
ret= 0; goto ex;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1529,6 +1529,7 @@ int Xorriso_clone_under(struct XorrisO *xorriso, char *origin, char *dest,
|
|
|
|
|
iso_dir_iter_free(iter);
|
|
|
|
|
iter= NULL;
|
|
|
|
|
}
|
|
|
|
|
Xorriso_set_change_pending(xorriso, 0);
|
|
|
|
|
ret= 1;
|
|
|
|
|
ex:;
|
|
|
|
|
if(iter != NULL)
|
|
|
|
|