New command -update_li

This commit is contained in:
Thomas Schmitt 2016-12-14 10:18:14 +01:00
parent 7b12dd0dda
commit 85aa000192
8 changed files with 95 additions and 65 deletions

View File

@ -1983,6 +1983,8 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" Like -update but affecting all files below directories.", " Like -update but affecting all files below directories.",
" -update_l disk_prefix iso_rr_prefix disk_path [***]", " -update_l disk_prefix iso_rr_prefix disk_path [***]",
" Performs -update_r with each disk_path.", " Performs -update_r with each disk_path.",
" -update_li iso_rr_prefix disk_prefix iso_rr_path [***]",
" Performs -update_r with each iso_rr_path.",
" -update_lxi disk_prefix iso_rr_prefix disk_or_iso_rr_path [***]", " -update_lxi disk_prefix iso_rr_prefix disk_or_iso_rr_path [***]",
" Performs -update_r with each disk_path or corresponding", " Performs -update_r with each disk_path or corresponding",
" iso_rr_path after exchange of disk_prefix by iso_rr_prefix.", " iso_rr_path after exchange of disk_prefix by iso_rr_prefix.",

View File

@ -553,7 +553,9 @@ ex:;
} }
/* Command -map_l , -compare_l , -update_l , -extract_l , -update_lxi */ /* Command -map_l , -compare_l , -update_l , -extract_l , -update_lxi ,
-update_li
*/
/* @param flag bit4= do not establish and dispose xorriso->di_array /* @param flag bit4= do not establish and dispose xorriso->di_array
for update_l for update_l
bit8-11= mode 0= -map_l bit8-11= mode 0= -map_l
@ -561,6 +563,7 @@ ex:;
2= -update_l 2= -update_l
3= -extract_l 3= -extract_l
4= -update_lxi 4= -update_lxi
5= -update_li
*/ */
int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv, int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag) int *idx, int flag)
@ -583,8 +586,11 @@ int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
cmd= "-compare_l"; cmd= "-compare_l";
else if(mode==2) else if(mode==2)
cmd= "-update_l"; cmd= "-update_l";
else if(mode==3) { else if(mode == 3 || mode == 5) {
cmd= "-extract_l"; if(mode == 5)
cmd= "-update_li";
else
cmd= "-extract_l";
ns_flag= 2; ns_flag= 2;
s_wd= xorriso->wdi; s_wd= xorriso->wdi;
nt_flag= 2|4; nt_flag= 2|4;
@ -745,6 +751,8 @@ int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
} else { } else {
ret= Xorriso_option_extract(xorriso, eff_source, eff_target, 2 | 4); ret= Xorriso_option_extract(xorriso, eff_source, eff_target, 2 | 4);
} }
} else if(mode == 5) {
ret= Xorriso_option_update(xorriso, eff_target, eff_source, 2 | 8 | 16);
} }
if(ret>0 && !xorriso->request_to_abort) if(ret>0 && !xorriso->request_to_abort)
@ -774,7 +782,7 @@ int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
if(mode==0) if(mode==0)
Xorriso_pacifier_callback(xorriso, "files added", xorriso->pacifier_count, Xorriso_pacifier_callback(xorriso, "files added", xorriso->pacifier_count,
xorriso->pacifier_total, "", 1); xorriso->pacifier_total, "", 1);
else if(mode==1 || mode==2 || mode == 4) else if(mode==1 || mode==2 || mode == 4 || mode == 5)
Xorriso_pacifier_callback(xorriso, "content bytes read", Xorriso_pacifier_callback(xorriso, "content bytes read",
xorriso->pacifier_count, 0, "", 1 | 8 | 32); xorriso->pacifier_count, 0, "", 1 | 8 | 32);
else if(mode==3) else if(mode==3)

View File

@ -593,7 +593,7 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
"launch_frontend","ls","lsi","lsl","lsli","lsd","lsdi","lsdl","lsdli", "launch_frontend","ls","lsi","lsl","lsli","lsd","lsdi","lsdl","lsdli",
"lsx","lslx","lsdx","lsdlx","map_l","mv","mvi","mkdir","mkdiri", "lsx","lslx","lsdx","lsdlx","map_l","mv","mvi","mkdir","mkdiri",
"not_paths","rm","rmi","rm_r","rm_ri","rmdir","rmdiri", "not_paths","rm","rmi","rm_r","rm_ri","rmdir","rmdiri",
"update_l","update_lx","update_lxi", "update_l","update_li","update_lx","update_lxi",
"setfacl","setfacli","setfacl_list","setfacl_listi", "setfacl","setfacli","setfacl_list","setfacl_listi",
"setfacl_r","setfacl_ri","setfattr","setfattri", "setfacl_r","setfacl_ri","setfattr","setfattri",
"setfattr_list","setfattr_listi","setfattr_r","setfattr_ri", "setfattr_list","setfattr_listi","setfattr_r","setfattr_ri",
@ -718,7 +718,7 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
"disk_pattern", "add_plainly", "disk_pattern", "add_plainly",
"mkdir", "lns", "add", "path_list", "quoted_path_list", "mkdir", "lns", "add", "path_list", "quoted_path_list",
"map", "map_single", "map_l", "update", "update_r", "map", "map_single", "map_l", "update", "update_r",
"update_l", "update_lx", "update_lxi", "update_l", "update_li", "update_lx", "update_lxi",
"cut_out", "cpr", "cut_out", "cpr",
"clone", "cp_clone", "clone", "cp_clone",
@ -1944,6 +1944,9 @@ if (0) {
} else if(strcmp(cmd,"update_l") == 0 || strcmp(cmd,"update_lx") == 0) { } else if(strcmp(cmd,"update_l") == 0 || strcmp(cmd,"update_lx") == 0) {
ret= Xorriso_option_map_l(xorriso, argc, argv, idx, 2<<8); ret= Xorriso_option_map_l(xorriso, argc, argv, idx, 2<<8);
} else if(strcmp(cmd,"update_li") == 0) {
ret= Xorriso_option_map_l(xorriso, argc, argv, idx, 5 << 8);
} else if(strcmp(cmd,"update_lxi") == 0) { } else if(strcmp(cmd,"update_lxi") == 0) {
ret= Xorriso_option_map_l(xorriso, argc, argv, idx, 4 << 8); ret= Xorriso_option_map_l(xorriso, argc, argv, idx, 4 << 8);

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.4.7, Dec 05, 2016" .TH XORRISO 1 "Version 1.4.7, Dec 13, 2016"
.\" Please adjust this date whenever revising the manpage. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" Some roff macros, for reference:
@ -1267,6 +1267,10 @@ exist, then iso_rr_path gets deleted.
Perform \-update_r with each of the disk_path parameters. iso_rr_path will be Perform \-update_r with each of the disk_path parameters. iso_rr_path will be
composed from disk_path by replacing disk_prefix by iso_rr_prefix. composed from disk_path by replacing disk_prefix by iso_rr_prefix.
.TP .TP
\fB\-update_li\fR iso_rr_prefix disk_prefix iso_rr_path [***]
Perform \-update_r with each of the iso_rr_path parameters. disk_path will be
composed from iso_rr_path by replacing iso_rr_prefix by disk_prefix.
.TP
\fB\-update_lxi\fR disk_prefix iso_rr_prefix disk_path [***] \fB\-update_lxi\fR disk_prefix iso_rr_prefix disk_path [***]
Perform \-update_r with each of the disk_path parameters and with iso_rr_paths Perform \-update_r with each of the disk_path parameters and with iso_rr_paths
in the ISO filesystem which are derived from the disk_path parameters after in the ISO filesystem which are derived from the disk_path parameters after

View File

@ -1742,6 +1742,7 @@ int Xorriso_option_map(struct XorrisO *xorriso, char *disk_path,
2= -update_l 2= -update_l
3= -extract_l 3= -extract_l
4= -update_lxi @since 1.4.8 4= -update_lxi @since 1.4.8
5= -update_li @since 1.4.8
*/ */
/* @since 0.2.0 */ /* @since 0.2.0 */
int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv, int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,

View File

@ -1134,6 +1134,10 @@ filesystem.
Perform -update_r with each of the disk_path parameters. Perform -update_r with each of the disk_path parameters.
iso_rr_path will be composed from disk_path by replacing iso_rr_path will be composed from disk_path by replacing
disk_prefix by iso_rr_prefix. disk_prefix by iso_rr_prefix.
-update_li iso_rr_prefix disk_prefix iso_rr_path [***]
Perform -update_r with each of the iso_rr_path parameters.
disk_path will be composed from iso_rr_path by replacing
iso_rr_prefix by disk_prefix.
-update_lxi disk_prefix iso_rr_prefix disk_path [***] -update_lxi disk_prefix iso_rr_prefix disk_path [***]
Perform -update_r with each of the disk_path parameters and with Perform -update_r with each of the disk_path parameters and with
iso_rr_paths in the ISO filesystem which are derived from the iso_rr_paths in the ISO filesystem which are derived from the
@ -5225,7 +5229,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -chmod_r sets permissions in ISO image: Manip. (line 66) * -chmod_r sets permissions in ISO image: Manip. (line 66)
* -chown sets ownership in ISO image: Manip. (line 43) * -chown sets ownership in ISO image: Manip. (line 43)
* -chown_r sets ownership in ISO image: Manip. (line 47) * -chown_r sets ownership in ISO image: Manip. (line 47)
* -clone copies ISO directory tree: Insert. (line 181) * -clone copies ISO directory tree: Insert. (line 185)
* -close controls media closing: SetWrite. (line 401) * -close controls media closing: SetWrite. (line 401)
* -close_damaged closes damaged track and session: Writing. (line 164) * -close_damaged closes damaged track and session: Writing. (line 164)
* -close_filter_list bans filter registration: Filter. (line 50) * -close_filter_list bans filter registration: Filter. (line 50)
@ -5238,12 +5242,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -concat copies ISO file content: Restore. (line 118) * -concat copies ISO file content: Restore. (line 118)
* -copyright_file sets copyright file name: SetWrite. (line 239) * -copyright_file sets copyright file name: SetWrite. (line 239)
* -cpax copies files to disk: Restore. (line 100) * -cpax copies files to disk: Restore. (line 100)
* -cpr inserts like with cp -r: Insert. (line 160) * -cpr inserts like with cp -r: Insert. (line 164)
* -cpx copies files to disk: Restore. (line 89) * -cpx copies files to disk: Restore. (line 89)
* -cp_clone copies ISO directory tree: Insert. (line 192) * -cp_clone copies ISO directory tree: Insert. (line 196)
* -cp_rx copies file trees to disk: Restore. (line 103) * -cp_rx copies file trees to disk: Restore. (line 103)
* -cp_rx copies file trees to disk <1>: Restore. (line 111) * -cp_rx copies file trees to disk <1>: Restore. (line 111)
* -cut_out inserts piece of data file: Insert. (line 135) * -cut_out inserts piece of data file: Insert. (line 139)
* -data_cache_size adjusts read cache size: Loading. (line 332) * -data_cache_size adjusts read cache size: Loading. (line 332)
* -dev acquires one drive for input and output: AqDrive. (line 12) * -dev acquires one drive for input and output: AqDrive. (line 12)
* -devices gets list of drives: Inquiry. (line 7) * -devices gets list of drives: Inquiry. (line 7)
@ -5304,7 +5308,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -list_formats lists available formats: Writing. (line 129) * -list_formats lists available formats: Writing. (line 129)
* -list_profiles lists supported media: Writing. (line 177) * -list_profiles lists supported media: Writing. (line 177)
* -list_speeds lists available write speeds: Writing. (line 140) * -list_speeds lists available write speeds: Writing. (line 140)
* -lns creates ISO symbolic link: Insert. (line 177) * -lns creates ISO symbolic link: Insert. (line 181)
* -load addresses a particular session as input: Loading. (line 33) * -load addresses a particular session as input: Loading. (line 33)
* -local_charset sets terminal character set: Charset. (line 57) * -local_charset sets terminal character set: Charset. (line 57)
* -logfile logs output channels to file: Frontend. (line 19) * -logfile logs output channels to file: Frontend. (line 19)
@ -5321,7 +5325,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -map_single inserts path: Insert. (line 93) * -map_single inserts path: Insert. (line 93)
* -mark sets synchronizing message: Frontend. (line 23) * -mark sets synchronizing message: Frontend. (line 23)
* -md5 controls handling of MD5 sums: Loading. (line 182) * -md5 controls handling of MD5 sums: Loading. (line 182)
* -mkdir creates ISO directory: Insert. (line 173) * -mkdir creates ISO directory: Insert. (line 177)
* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 336) * -modesty_on_drive keep drive buffer hungry: SetWrite. (line 336)
* -mount issues mount command for ISO session: Restore. (line 146) * -mount issues mount command for ISO session: Restore. (line 146)
* -mount_cmd composes mount command line: Inquiry. (line 49) * -mount_cmd composes mount command line: Inquiry. (line 49)
@ -5413,7 +5417,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -uid sets global ownership: SetWrite. (line 284) * -uid sets global ownership: SetWrite. (line 284)
* -update inserts path if different: Insert. (line 100) * -update inserts path if different: Insert. (line 100)
* -update_l inserts paths if different: Insert. (line 120) * -update_l inserts paths if different: Insert. (line 120)
* -update_l inserts paths if different <1>: Insert. (line 124) * -update_l inserts paths if different <1>: Insert. (line 128)
* -update_li inserts paths if different: Insert. (line 124)
* -update_r inserts paths if different: Insert. (line 110) * -update_r inserts paths if different: Insert. (line 110)
* -use_immed_bit controls use of Immed bit: SetWrite. (line 374) * -use_immed_bit controls use of Immed bit: SetWrite. (line 374)
* -use_readline enables readline for dialog: DialogCtl. (line 26) * -use_readline enables readline for dialog: DialogCtl. (line 26)
@ -5483,9 +5488,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Dialog, EOF resistant, -named_pipe_loop: Frontend. (line 119) * Dialog, EOF resistant, -named_pipe_loop: Frontend. (line 119)
* Dialog, line editing, -use_readline: DialogCtl. (line 26) * Dialog, line editing, -use_readline: DialogCtl. (line 26)
* Dialog, terminal geometry, -page: DialogCtl. (line 18) * Dialog, terminal geometry, -page: DialogCtl. (line 18)
* Directories, copy, -cp_clone: Insert. (line 192) * Directories, copy, -cp_clone: Insert. (line 196)
* Directory, copy, -clone: Insert. (line 181) * Directory, copy, -clone: Insert. (line 185)
* Directory, create, -mkdir: Insert. (line 173) * Directory, create, -mkdir: Insert. (line 177)
* Directory, delete, -rmdir: Manip. (line 29) * Directory, delete, -rmdir: Manip. (line 29)
* disk_path, _definition: Insert. (line 6) * disk_path, _definition: Insert. (line 6)
* Drive, accessability, -drive_class: Loading. (line 73) * Drive, accessability, -drive_class: Loading. (line 73)
@ -5568,7 +5573,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Insert, file exclusion, -quoted_not_list: SetInsert. (line 66) * Insert, file exclusion, -quoted_not_list: SetInsert. (line 66)
* Insert, if different, -update: Insert. (line 100) * Insert, if different, -update: Insert. (line 100)
* Insert, if different, -update_l: Insert. (line 120) * Insert, if different, -update_l: Insert. (line 120)
* Insert, if different, -update_lxi: Insert. (line 124) * Insert, if different, -update_li: Insert. (line 124)
* Insert, if different, -update_lxi: Insert. (line 128)
* Insert, if different, -update_r: Insert. (line 110) * Insert, if different, -update_r: Insert. (line 110)
* Insert, large file splitting, -split_size: SetInsert. (line 143) * Insert, large file splitting, -split_size: SetInsert. (line 143)
* Insert, limit data file size, -file_size_limit: SetInsert. (line 7) * Insert, limit data file size, -file_size_limit: SetInsert. (line 7)
@ -5580,9 +5586,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Insert, paths from disk file, -map_l: Insert. (line 96) * Insert, paths from disk file, -map_l: Insert. (line 96)
* Insert, paths from disk file, -path_list: Insert. (line 81) * Insert, paths from disk file, -path_list: Insert. (line 81)
* Insert, paths from disk file, -quoted_path_list: Insert. (line 85) * Insert, paths from disk file, -quoted_path_list: Insert. (line 85)
* Insert, paths, -cpr: Insert. (line 160) * Insert, paths, -cpr: Insert. (line 164)
* Insert, pathspecs, -add: Insert. (line 44) * Insert, pathspecs, -add: Insert. (line 44)
* Insert, piece of data file, -cut_out: Insert. (line 135) * Insert, piece of data file, -cut_out: Insert. (line 139)
* Interval reader for system area and partitions: Bootable. (line 32) * Interval reader for system area and partitions: Bootable. (line 32)
* ISO 9660, _definition: Model. (line 6) * ISO 9660, _definition: Model. (line 6)
* iso_rr_path, _definition: Insert. (line 7) * iso_rr_path, _definition: Insert. (line 7)
@ -5697,7 +5703,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26) * Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26)
* SUN Disk Label, production: Bootable. (line 354) * SUN Disk Label, production: Bootable. (line 354)
* SUN SPARC boot images, activation: Bootable. (line 427) * SUN SPARC boot images, activation: Bootable. (line 427)
* Symbolic link, create, -lns: Insert. (line 177) * Symbolic link, create, -lns: Insert. (line 181)
* System area, _definition: Bootable. (line 200) * System area, _definition: Bootable. (line 200)
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 278) * Table-of-content, search sessions, -rom_toc_scan: Loading. (line 278)
* Table-of-content, show, -toc: Inquiry. (line 27) * Table-of-content, show, -toc: Inquiry. (line 27)
@ -5758,47 +5764,47 @@ Node: ArgSort27030
Node: AqDrive28524 Node: AqDrive28524
Node: Loading32638 Node: Loading32638
Node: Insert52745 Node: Insert52745
Node: SetInsert64032 Node: SetInsert64248
Node: Manip73351 Node: Manip73567
Node: CmdFind83310 Node: CmdFind83526
Node: Filter102082 Node: Filter102298
Node: Writing106704 Node: Writing106920
Node: SetWrite116860 Node: SetWrite117076
Node: Bootable141619 Node: Bootable141835
Node: Jigdo167119 Node: Jigdo167335
Node: Charset171378 Node: Charset171594
Node: Exception174707 Node: Exception174923
Node: DialogCtl180836 Node: DialogCtl181052
Node: Inquiry183438 Node: Inquiry183654
Node: Navigate192226 Node: Navigate192442
Node: Verify200521 Node: Verify200737
Node: Restore210399 Node: Restore210615
Node: Emulation219012 Node: Emulation219228
Node: Scripting229471 Node: Scripting229687
Node: Frontend237254 Node: Frontend237470
Node: Examples246880 Node: Examples247096
Node: ExDevices248058 Node: ExDevices248274
Node: ExCreate248719 Node: ExCreate248935
Node: ExDialog250019 Node: ExDialog250235
Node: ExGrowing251290 Node: ExGrowing251506
Node: ExModifying252099 Node: ExModifying252315
Node: ExBootable252609 Node: ExBootable252825
Node: ExCharset253164 Node: ExCharset253380
Node: ExPseudo254060 Node: ExPseudo254276
Node: ExCdrecord254987 Node: ExCdrecord255203
Node: ExMkisofs255307 Node: ExMkisofs255523
Node: ExGrowisofs256664 Node: ExGrowisofs256880
Node: ExException257818 Node: ExException258034
Node: ExTime258276 Node: ExTime258492
Node: ExIncBackup258734 Node: ExIncBackup258950
Node: ExRestore262760 Node: ExRestore262976
Node: ExRecovery263706 Node: ExRecovery263922
Node: Files264278 Node: Files264494
Node: Environ265612 Node: Environ265828
Node: Seealso266318 Node: Seealso266534
Node: Bugreport267035 Node: Bugreport267251
Node: Legal267626 Node: Legal267842
Node: CommandIdx268638 Node: CommandIdx268854
Node: ConceptIdx285899 Node: ConceptIdx286188
 
End Tag Table End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps @c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @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 .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Version 1.4.7, Dec 05, 2016" @c man .TH XORRISO 1 "Version 1.4.7, Dec 13, 2016"
@c man .\" Please adjust this date whenever revising the manpage. @c man .\" Please adjust this date whenever revising the manpage.
@c man .\" @c man .\"
@c man .\" Some roff macros, for reference: @c man .\" Some roff macros, for reference:
@ -1563,6 +1563,12 @@ exist, then iso_rr_path gets deleted.
Perform -update_r with each of the disk_path parameters. iso_rr_path will be Perform -update_r with each of the disk_path parameters. iso_rr_path will be
composed from disk_path by replacing disk_prefix by iso_rr_prefix. composed from disk_path by replacing disk_prefix by iso_rr_prefix.
@c man .TP @c man .TP
@item -update_li iso_rr_prefix disk_prefix iso_rr_path [***]
@kindex -update_li inserts paths if different
@cindex Insert, if different, -update_li
Perform -update_r with each of the iso_rr_path parameters. disk_path will be
composed from iso_rr_path by replacing iso_rr_prefix by disk_prefix.
@c man .TP
@item -update_lxi disk_prefix iso_rr_prefix disk_path [***] @item -update_lxi disk_prefix iso_rr_prefix disk_path [***]
@kindex -update_l inserts paths if different @kindex -update_l inserts paths if different
@cindex Insert, if different, -update_lxi @cindex Insert, if different, -update_lxi

View File

@ -1 +1 @@
#define Xorriso_timestamP "2016.12.05.132927" #define Xorriso_timestamP "2016.12.14.091711"