Bug fixes with option -mv

This commit is contained in:
Thomas Schmitt 2007-10-27 23:04:35 +00:00
parent fe6174cbc2
commit 0724b37e6e
4 changed files with 16 additions and 6 deletions

View File

@ -3134,7 +3134,7 @@ int Xorriso_option_add(struct XorrisO *xorriso, int argc, char **argv,
if(ret<=0)
return(ret);
strcpy(target, eff_path);
ret= Xorriso_normalize_img_path(xorriso, source, eff_path, 2);
ret= Xorriso_normalize_img_path(xorriso, source, eff_path, 2|4);
if(ret<=0)
return(ret);
strcpy(source, eff_path);
@ -3335,7 +3335,7 @@ int Xorriso_option_cdx(struct XorrisO *xorriso, char *disk_path, int flag)
return(-1);
}
ret= Xorriso_normalize_img_path(xorriso, path, eff_path, 2);
ret= Xorriso_normalize_img_path(xorriso, path, eff_path, 2|4);
if(ret<=0)
return(ret);
if(eff_path[0]) {
@ -4115,7 +4115,7 @@ int Xorriso_option_mvi(struct XorrisO *xorriso, int argc, char **argv,
/* Check existence of old addresses */
for(i= *idx; i<end_idx-1; i++) {
ret= Xorriso_normalize_img_path(xorriso, argv[i], eff_origin, 1);
ret= Xorriso_normalize_img_path(xorriso, argv[i], eff_origin, 0);
if(ret<=0)
{ret= 0; goto ex;}
}
@ -4133,6 +4133,11 @@ int Xorriso_option_mvi(struct XorrisO *xorriso, int argc, char **argv,
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
{ret= 0; goto ex;}
}
if(ret==0) { /* compute complete eff_dest */
ret= Xorriso_normalize_img_path(xorriso, argv[end_idx-1], eff_dest, 2);
if(ret<0)
{ret= 0; goto ex;}
}
/* Perform movements */
for(i= *idx; i<end_idx-1; i++) {
ret= Xorriso_normalize_img_path(xorriso, argv[i], eff_origin, 1);

View File

@ -1 +1 @@
#define Xorriso_timestamP "2007.10.27.224148"
#define Xorriso_timestamP "2007.10.27.230512"

View File

@ -432,6 +432,7 @@ int Xorriso_get_volume(struct XorrisO *xorriso, struct iso_volume **volume,
Must provide at least SfileadrL bytes of storage.
@param flag bit0= do not produce problem events (unless faulty path format)
bit1= work purely literally, do not use libisofs
bit2= (with bit1) this is an address in the disk world
@return -1 = faulty path format, 0 = not found ,
1 = found simple node , 2 = found directory
*/
@ -451,7 +452,10 @@ int Xorriso_normalize_img_path(struct XorrisO *xorriso, char *img_path,
}
if(img_path[0]!='/') {
strcpy(path, xorriso->wdi);
if(flag&4)
strcpy(path, xorriso->wdx);
else
strcpy(path, xorriso->wdi);
ret= Sfile_add_to_path(path, img_path, 0);
if(ret<=0)
goto much_too_long;
@ -1433,7 +1437,7 @@ int Xorriso_rename(struct XorrisO *xorriso,
return(ret);
dest_dir= (struct iso_tree_node_dir *)
iso_tree_volume_path_to_node(volume,dir_adr);
strcpy(dir_adr, eff_dest);
strcpy(dir_adr, origin);
cpt= strrchr(dir_adr, '/');
if(cpt==NULL)
cpt= dir_adr+strlen(dir_adr);

View File

@ -62,6 +62,7 @@ int Xorriso_ls(struct XorrisO *xorriso, int flag);
Must provide at least SfileadrL bytes of storage.
@param flag bit0= do not produce problem events (unless faulty path format)
bit1= work purely literally, do not use libisofs
bit2= (with bit1) this is an address in the disk world
@return -1 = faulty path format, 0 = not found ,
1 = found simple node , 2 = found directory
*/