New -zisofs parameter susp_z2=
This commit is contained in:
@ -2262,6 +2262,7 @@ static int parse_zisofs_param(char *cpt, int key_l, int l, double *num)
|
||||
int Xorriso_option_zisofs(struct XorrisO *xorriso, char *mode, int flag)
|
||||
{
|
||||
int was_level, was_blocksize, was_v2_enabled, was_blocksize_v2;
|
||||
int was_zisofs_susp_z2;
|
||||
uint64_t was_max_total_blocks, was_max_file_blocks, was_block_number_target;
|
||||
int ret, l, i, sticky, set_isofs_params= 0;
|
||||
double num, was_bpt_discard_free_ratio;
|
||||
@ -2275,6 +2276,8 @@ int Xorriso_option_zisofs(struct XorrisO *xorriso, char *mode, int flag)
|
||||
was_blocksize_v2= xorriso->zisofs_v2_block_size;
|
||||
was_block_number_target= xorriso->zisofs_block_number_target;
|
||||
was_bpt_discard_free_ratio= xorriso->zisofs_bpt_discard_free_ratio;
|
||||
was_zisofs_susp_z2= xorriso->zisofs_susp_z2;
|
||||
|
||||
npt= cpt= mode;
|
||||
for(cpt= mode; npt!=NULL; cpt= npt+1) {
|
||||
npt= strchr(cpt,':');
|
||||
@ -2392,6 +2395,18 @@ int Xorriso_option_zisofs(struct XorrisO *xorriso, char *mode, int flag)
|
||||
}
|
||||
xorriso->zisofs_bpt_discard_free_ratio = num;
|
||||
|
||||
} else if(strncmp(cpt, "susp_z2=", 8) == 0) {
|
||||
if(strncmp(cpt + 8, "off", l - 8) == 0) {
|
||||
xorriso->zisofs_susp_z2= 0;
|
||||
} else if(strncmp(cpt + 8, "on", l - 8) == 0) {
|
||||
xorriso->zisofs_susp_z2= 1;
|
||||
} else {
|
||||
sprintf(xorriso->info_text,
|
||||
"-zisofs: Unrecognized susp_z2 mode (allowed: on, off)");
|
||||
goto sorry_ex;
|
||||
}
|
||||
Xorriso_set_zisofs_params(xorriso, 2);
|
||||
|
||||
} else if(strncmp(cpt, "default", l)==0) {
|
||||
xorriso->zlib_level= xorriso->zlib_level_default;
|
||||
xorriso->zisofs_block_size= xorriso->zisofs_block_size_default;
|
||||
@ -2403,6 +2418,8 @@ int Xorriso_option_zisofs(struct XorrisO *xorriso, char *mode, int flag)
|
||||
xorriso->zisofs_block_number_target= -1;
|
||||
xorriso->zisofs_bpt_discard_free_ratio=
|
||||
xorriso->zisofs_bpt_discard_free_ratio_default;
|
||||
xorriso->zisofs_susp_z2= xorriso->zisofs_susp_z2_default;
|
||||
Xorriso_set_zisofs_params(xorriso, 2);
|
||||
|
||||
} else {
|
||||
unknown_mode:;
|
||||
@ -2420,15 +2437,18 @@ sorry_ex:
|
||||
xorriso->zisofs_v2_block_size= was_blocksize_v2;
|
||||
xorriso->zisofs_block_number_target= was_block_number_target;
|
||||
xorriso->zisofs_bpt_discard_free_ratio= was_bpt_discard_free_ratio;
|
||||
xorriso->zisofs_susp_z2 = was_zisofs_susp_z2;
|
||||
Xorriso_set_zisofs_params(xorriso, 2);
|
||||
return(0);
|
||||
}
|
||||
|
||||
if(strncmp(cpt, "by_magic=", 9) != 0)
|
||||
if(strncmp(cpt, "by_magic=", 9) != 0 &&
|
||||
strncmp(cpt, "susp_z2=", 8) != 0)
|
||||
set_isofs_params= 1;
|
||||
}
|
||||
ret= 1;
|
||||
if(set_isofs_params)
|
||||
ret= Xorriso_set_zisofs_params(xorriso, 0);
|
||||
ret= Xorriso_set_zisofs_params(xorriso, 1);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user