Bug fix: -osirrox "concat_split_on" worked only together with -split_size larger than 0. Thanks William Willems.

This commit is contained in:
Thomas Schmitt 2019-10-11 12:46:50 +02:00
parent cb597ec570
commit e2c71a34d0
7 changed files with 15 additions and 13 deletions

View File

@ -495,7 +495,7 @@ int Xorriso_path_from_lba(struct XorrisO *xorriso, IsoNode *node, int lba,
/* @param flag bit0= in_node is valid, do not resolve iso_adr
bit2= recognize and parse split parts despite
xorrio->split_size <= 0
xorriso->split_size <= 0
*/
int Xorriso_identify_split(struct XorrisO *xorriso, char *iso_adr,
void *in_node,
@ -627,6 +627,8 @@ ex:;
/* @param flag bit0= node is valid, do not resolve path
bit1= insist in complete collection of part files
bit2= recognize and parse split parts despite
xorriso->split_size <= 0
*/
int Xorriso_is_split(struct XorrisO *xorriso, char *path, void *node,
int flag)
@ -636,7 +638,7 @@ int Xorriso_is_split(struct XorrisO *xorriso, char *path, void *node,
struct stat stbuf;
ret= Xorriso_identify_split(xorriso, path, node, &split_parts,
&split_count, &stbuf, flag & 3);
&split_count, &stbuf, flag & 7);
if(split_parts!=NULL)
Splitparts_destroy(&split_parts, split_count, 0);
return(ret>0);

View File

@ -2681,7 +2681,7 @@ int Xorriso_option_cpx(struct XorrisO *xorriso, int argc, char **argv,
/* only allow directories if they actually represent split data files */
ret= 0;
if(xorriso->do_concat_split)
ret= Xorriso_is_split(xorriso, eff_origin, NULL, 0);
ret= Xorriso_is_split(xorriso, eff_origin, NULL, 4);
if(ret<0)
goto problem_handler;
if(ret==0) {

View File

@ -2,7 +2,7 @@
/* 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.
@ -1062,7 +1062,7 @@ int Xorriso_restore_disk_object(struct XorrisO *xorriso,
if(LIBISO_ISDIR(node) && xorriso->do_concat_split)
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) {
/* map all files in directory img_path into regular file disk_path */
@ -1437,7 +1437,7 @@ much_too_long:;
source_is_dir= 1;
source_is_split= 0;
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)
do_not_dive= 1;
@ -1627,7 +1627,7 @@ int Xorriso_restore(struct XorrisO *xorriso,
ret= 0; goto ex;
}
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) {
npt= strchr(apt, '/');

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.5.1, Sep 04, 2019"
.TH XORRISO 1 "Version 1.5.1, Oct 10, 2019"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -1626,7 +1626,7 @@ permissible.
.br
While command \-split_size is set larger than 0 such a directory with split
file pieces will be recognized and handled like a regular file by commands
\-compare* , \-update*, and in overwrite situations. There are \-ossirox
\-compare* , \-update*, and in overwrite situations. There are \-osirrox
parameters "concat_split_on" and "concat_split_off" which control the handling
when files get restored to disk.
.br

View File

@ -1428,7 +1428,7 @@ File: xorriso.info, Node: SetInsert, Next: Manip, Prev: Insert, Up: Commands
While command -split_size is set larger than 0 such a directory
with split file pieces will be recognized and handled like a
regular file by commands -compare* , -update*, and in overwrite
situations. There are -ossirox parameters "concat_split_on" and
situations. There are -osirrox parameters "concat_split_on" and
"concat_split_off" which control the handling when files get
restored to disk.
In order to be recognizable, the names of the part files have to

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Version 1.5.1, Sep 04, 2019"
@c man .TH XORRISO 1 "Version 1.5.1, Oct 10, 2019"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -1968,7 +1968,7 @@ permissible.
@*
While command -split_size is set larger than 0 such a directory with split
file pieces will be recognized and handled like a regular file by commands
-compare* , -update*, and in overwrite situations. There are -ossirox
-compare* , -update*, and in overwrite situations. There are -osirrox
parameters "concat_split_on" and "concat_split_off" which control the handling
when files get restored to disk.
@*

View File

@ -1 +1 @@
#define Xorriso_timestamP "2019.09.29.205504"
#define Xorriso_timestamP "2019.10.11.104334"