"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "xorriso/read_run.c" between
libisoburn-1.5.0.tar.gz and libisoburn-1.5.2.tar.gz

About: libisoburn is a frontend for the libraries libburn and libisofs which enables creation and expansion of ISO-9660 filesystems on all media and file types supported by libburn. It implements the API and command interpreter of program xorriso, and installs this program as small dynamically linked binary. xorriso is suitable for incremental data backup and for production of bootable ISO 9660 images. A statically linked version is available as GNU xorriso.

read_run.c  (libisoburn-1.5.0):read_run.c  (libisoburn-1.5.2)
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2015 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2019 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
This file contains functions which are needed to read data This file contains functions which are needed to read data
from ISO image. from ISO image.
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include "../config.h" #include "../config.h"
#endif #endif
skipping to change at line 1049 skipping to change at line 1049
struct stat stbuf; struct stat stbuf;
Xorriso_alloc_meM(part_path, char, SfileadrL); Xorriso_alloc_meM(part_path, char, SfileadrL);
ret= Xorriso_get_volume(xorriso, &volume, 0); ret= Xorriso_get_volume(xorriso, &volume, 0);
if(ret<=0) if(ret<=0)
goto ex; goto ex;
if(LIBISO_ISDIR(node) && xorriso->do_concat_split) if(LIBISO_ISDIR(node) && xorriso->do_concat_split)
leaf_is_split= Xorriso_identify_split(xorriso, img_path, node, leaf_is_split= Xorriso_identify_split(xorriso, img_path, node,
&split_parts, &split_count, &stbuf, 1|2); &split_parts, &split_count, &stbuf, 1 | 4);
if(leaf_is_split) { if(leaf_is_split) {
/* map all files in directory img_path into regular file disk_path */ /* map all files in directory img_path into regular file disk_path */
for(i=0 ; i<split_count; i++) { for(i=0 ; i<split_count; i++) {
Splitparts_get(split_parts, i, &part_name, &partno, &total_parts, Splitparts_get(split_parts, i, &part_name, &partno, &total_parts,
&offset, &bytes, &total_bytes, 0); &offset, &bytes, &total_bytes, 0);
strcpy(part_path, img_path); strcpy(part_path, img_path);
if(Sfile_add_to_path(part_path, part_name, 0)<=0) { if(Sfile_add_to_path(part_path, part_name, 0)<=0) {
Xorriso_much_too_long(xorriso, strlen(img_path)+strlen(part_name)+1, 2); Xorriso_much_too_long(xorriso, strlen(img_path)+strlen(part_name)+1, 2);
skipping to change at line 1422 skipping to change at line 1422
goto was_problem; goto was_problem;
} }
#endif /* Osirrox_not_yeT */ #endif /* Osirrox_not_yeT */
do_not_dive= 0; do_not_dive= 0;
if(S_ISDIR(stbuf.st_mode)) if(S_ISDIR(stbuf.st_mode))
source_is_dir= 1; source_is_dir= 1;
source_is_split= 0; source_is_split= 0;
if(source_is_dir) if(source_is_dir)
source_is_split= Xorriso_is_split(xorriso, img_path, node, 1|2); source_is_split= Xorriso_is_split(xorriso, img_path, node, 1 | 2 | 4);
if(source_is_split) if(source_is_split)
do_not_dive= 1; do_not_dive= 1;
if(source_is_dir || !(dir_create || do_node_count || node_register)) { if(source_is_dir || !(dir_create || do_node_count || node_register)) {
ret= Xorriso_handle_collision(xorriso, node, img_path, ret= Xorriso_handle_collision(xorriso, node, img_path,
disk_path, disk_path, &stbuf_ret, disk_path, disk_path, &stbuf_ret,
(source_is_dir && !source_is_split)); (source_is_dir && !source_is_split));
if(ret<=0 || ret==3) if(ret<=0 || ret==3)
goto was_problem; goto was_problem;
} else { } else {
skipping to change at line 1494 skipping to change at line 1494
free(sfe); free(sfe);
if(sfe2!=NULL) if(sfe2!=NULL)
free(sfe2); free(sfe2);
if(disk_path!=NULL) if(disk_path!=NULL)
free(disk_path); free(disk_path);
if(img_path!=NULL) if(img_path!=NULL)
free(img_path); free(img_path);
if(link_target!=NULL) if(link_target!=NULL)
free(link_target); free(link_target);
Xorriso_findi_iter(xorriso, dir, &mem, &iter, &node_array, &node_count, Xorriso_findi_iter(xorriso, dir, &mem, &iter, &node_array, &node_count,
&node_idx, &node, (1<<31)); &node_idx, &node, (1u<<31));
Xorriso_process_msg_queues(xorriso,0); Xorriso_process_msg_queues(xorriso,0);
#ifdef Osirrox_not_yeT #ifdef Osirrox_not_yeT
Linkitem_reset_stack(&own_link_stack, link_stack, 0); Linkitem_reset_stack(&own_link_stack, link_stack, 0);
#endif #endif
if(ret<=0) if(ret<=0)
skipping to change at line 1611 skipping to change at line 1611
} else { } else {
Xorriso_process_msg_queues(xorriso,0); Xorriso_process_msg_queues(xorriso,0);
Xorriso_msgs_submit(xorriso, 0, disk_path, 0, "ERRFILE", 0); Xorriso_msgs_submit(xorriso, 0, disk_path, 0, "ERRFILE", 0);
sprintf(xorriso->info_text, sprintf(xorriso->info_text,
"Cannot determine attributes of (ISO) source file "); "Cannot determine attributes of (ISO) source file ");
Text_shellsafe(img_path, xorriso->info_text, 1); Text_shellsafe(img_path, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
ret= 0; goto ex; ret= 0; goto ex;
} }
if(is_dir && xorriso->do_concat_split) if(is_dir && xorriso->do_concat_split)
leaf_is_split= Xorriso_is_split(xorriso, img_path, node, 1|2); leaf_is_split= Xorriso_is_split(xorriso, img_path, node, 1 | 2 | 4);
} }
for(npt= apt; !done; apt= npt+1) { for(npt= apt; !done; apt= npt+1) {
npt= strchr(apt, '/'); npt= strchr(apt, '/');
if(npt==NULL) { if(npt==NULL) {
npt= apt+strlen(apt); npt= apt+strlen(apt);
done= 1; done= 1;
} else } else
*npt= 0; *npt= 0;
if(*apt==0) { if(*apt==0) {
*apt= '/'; *apt= '/';
 End of changes. 5 change blocks. 
5 lines changed or deleted 5 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)