diff --git a/libisoburn/trunk/xorriso/emulators.c b/libisoburn/trunk/xorriso/emulators.c index 7b45ef73..ce0af2f8 100644 --- a/libisoburn/trunk/xorriso/emulators.c +++ b/libisoburn/trunk/xorriso/emulators.c @@ -1189,13 +1189,13 @@ illegal_c:; if(ret < 0) {ret= -(ret != -1); goto ex;} } else { - ret= Xorriso_option_cdi(xorriso, "/", 0); + strcpy(xorriso->wdi, "/"); + } + if(strcmp(old_root, xorriso->wdi) != 0) { + ret= Xorriso_clone_under(xorriso, old_root, xorriso->wdi, 0); if(ret <= 0) goto ex; } - ret= Xorriso_clone_under(xorriso, old_root, xorriso->wdi, 0); - if(ret <= 0) - goto ex; } } diff --git a/libisoburn/trunk/xorriso/iso_manip.c b/libisoburn/trunk/xorriso/iso_manip.c index d25a5636..0fb7fd6c 100644 --- a/libisoburn/trunk/xorriso/iso_manip.c +++ b/libisoburn/trunk/xorriso/iso_manip.c @@ -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) diff --git a/libisoburn/trunk/xorriso/iso_tree.c b/libisoburn/trunk/xorriso/iso_tree.c index fca3b826..27b001da 100644 --- a/libisoburn/trunk/xorriso/iso_tree.c +++ b/libisoburn/trunk/xorriso/iso_tree.c @@ -1,7 +1,7 @@ /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. - Copyright 2007-2010 Thomas Schmitt, + Copyright 2007-2011 Thomas Schmitt, Provided under GPL version 2 or later. diff --git a/libisoburn/trunk/xorriso/iso_tree.h b/libisoburn/trunk/xorriso/iso_tree.h index 688290c9..85224582 100644 --- a/libisoburn/trunk/xorriso/iso_tree.h +++ b/libisoburn/trunk/xorriso/iso_tree.h @@ -1,7 +1,7 @@ /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. - Copyright 2007-2010 Thomas Schmitt, + Copyright 2007-2011 Thomas Schmitt, Provided under GPL version 2 or later. diff --git a/libisoburn/trunk/xorriso/sort_cmp.c b/libisoburn/trunk/xorriso/sort_cmp.c index 09d3f21c..e92eacf2 100644 --- a/libisoburn/trunk/xorriso/sort_cmp.c +++ b/libisoburn/trunk/xorriso/sort_cmp.c @@ -1,7 +1,7 @@ /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. - Copyright 2007-2010 Thomas Schmitt, + Copyright 2007-2011 Thomas Schmitt, Provided under GPL version 2 or later. diff --git a/libisoburn/trunk/xorriso/xorriso_timestamp.h b/libisoburn/trunk/xorriso/xorriso_timestamp.h index df64dad5..bfd82a6b 100644 --- a/libisoburn/trunk/xorriso/xorriso_timestamp.h +++ b/libisoburn/trunk/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2011.02.07.184304" +#define Xorriso_timestamP "2011.02.07.202851"