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.",
" -update_l disk_prefix iso_rr_prefix 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 [***]",
" Performs -update_r with each disk_path or corresponding",
" 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
for update_l
bit8-11= mode 0= -map_l
@ -561,6 +563,7 @@ ex:;
2= -update_l
3= -extract_l
4= -update_lxi
5= -update_li
*/
int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag)
@ -583,8 +586,11 @@ int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
cmd= "-compare_l";
else if(mode==2)
cmd= "-update_l";
else if(mode==3) {
cmd= "-extract_l";
else if(mode == 3 || mode == 5) {
if(mode == 5)
cmd= "-update_li";
else
cmd= "-extract_l";
ns_flag= 2;
s_wd= xorriso->wdi;
nt_flag= 2|4;
@ -745,6 +751,8 @@ int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
} else {
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)
@ -774,7 +782,7 @@ int Xorriso_option_map_l(struct XorrisO *xorriso, int argc, char **argv,
if(mode==0)
Xorriso_pacifier_callback(xorriso, "files added", xorriso->pacifier_count,
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_count, 0, "", 1 | 8 | 32);
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",
"lsx","lslx","lsdx","lsdlx","map_l","mv","mvi","mkdir","mkdiri",
"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_r","setfacl_ri","setfattr","setfattri",
"setfattr_list","setfattr_listi","setfattr_r","setfattr_ri",
@ -718,7 +718,7 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
"disk_pattern", "add_plainly",
"mkdir", "lns", "add", "path_list", "quoted_path_list",
"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",
"clone", "cp_clone",
@ -1944,6 +1944,9 @@ if (0) {
} else if(strcmp(cmd,"update_l") == 0 || strcmp(cmd,"update_lx") == 0) {
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) {
ret= Xorriso_option_map_l(xorriso, argc, argv, idx, 4 << 8);

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.4.7, Dec 05, 2016"
.TH XORRISO 1 "Version 1.4.7, Dec 13, 2016"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" 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
composed from disk_path by replacing disk_prefix by iso_rr_prefix.
.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 [***]
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

View File

@ -1742,6 +1742,7 @@ int Xorriso_option_map(struct XorrisO *xorriso, char *disk_path,
2= -update_l
3= -extract_l
4= -update_lxi @since 1.4.8
5= -update_li @since 1.4.8
*/
/* @since 0.2.0 */
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.
iso_rr_path will be composed from disk_path by replacing
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 [***]
Perform -update_r with each of the disk_path parameters and with
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)
* -chown sets ownership in ISO image: Manip. (line 43)
* -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_damaged closes damaged track and session: Writing. (line 164)
* -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)
* -copyright_file sets copyright file name: SetWrite. (line 239)
* -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)
* -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 <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)
* -dev acquires one drive for input and output: AqDrive. (line 12)
* -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_profiles lists supported media: Writing. (line 177)
* -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)
* -local_charset sets terminal character set: Charset. (line 57)
* -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)
* -mark sets synchronizing message: Frontend. (line 23)
* -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)
* -mount issues mount command for ISO session: Restore. (line 146)
* -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)
* -update inserts path if different: Insert. (line 100)
* -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)
* -use_immed_bit controls use of Immed bit: SetWrite. (line 374)
* -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, line editing, -use_readline: DialogCtl. (line 26)
* Dialog, terminal geometry, -page: DialogCtl. (line 18)
* Directories, copy, -cp_clone: Insert. (line 192)
* Directory, copy, -clone: Insert. (line 181)
* Directory, create, -mkdir: Insert. (line 173)
* Directories, copy, -cp_clone: Insert. (line 196)
* Directory, copy, -clone: Insert. (line 185)
* Directory, create, -mkdir: Insert. (line 177)
* Directory, delete, -rmdir: Manip. (line 29)
* disk_path, _definition: Insert. (line 6)
* 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, if different, -update: Insert. (line 100)
* 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, large file splitting, -split_size: SetInsert. (line 143)
* 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, -path_list: Insert. (line 81)
* 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, 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)
* ISO 9660, _definition: Model. (line 6)
* 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)
* SUN Disk Label, production: Bootable. (line 354)
* 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)
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 278)
* Table-of-content, show, -toc: Inquiry. (line 27)
@ -5758,47 +5764,47 @@ Node: ArgSort27030
Node: AqDrive28524
Node: Loading32638
Node: Insert52745
Node: SetInsert64032
Node: Manip73351
Node: CmdFind83310
Node: Filter102082
Node: Writing106704
Node: SetWrite116860
Node: Bootable141619
Node: Jigdo167119
Node: Charset171378
Node: Exception174707
Node: DialogCtl180836
Node: Inquiry183438
Node: Navigate192226
Node: Verify200521
Node: Restore210399
Node: Emulation219012
Node: Scripting229471
Node: Frontend237254
Node: Examples246880
Node: ExDevices248058
Node: ExCreate248719
Node: ExDialog250019
Node: ExGrowing251290
Node: ExModifying252099
Node: ExBootable252609
Node: ExCharset253164
Node: ExPseudo254060
Node: ExCdrecord254987
Node: ExMkisofs255307
Node: ExGrowisofs256664
Node: ExException257818
Node: ExTime258276
Node: ExIncBackup258734
Node: ExRestore262760
Node: ExRecovery263706
Node: Files264278
Node: Environ265612
Node: Seealso266318
Node: Bugreport267035
Node: Legal267626
Node: CommandIdx268638
Node: ConceptIdx285899
Node: SetInsert64248
Node: Manip73567
Node: CmdFind83526
Node: Filter102298
Node: Writing106920
Node: SetWrite117076
Node: Bootable141835
Node: Jigdo167335
Node: Charset171594
Node: Exception174923
Node: DialogCtl181052
Node: Inquiry183654
Node: Navigate192442
Node: Verify200737
Node: Restore210615
Node: Emulation219228
Node: Scripting229687
Node: Frontend237470
Node: Examples247096
Node: ExDevices248274
Node: ExCreate248935
Node: ExDialog250235
Node: ExGrowing251506
Node: ExModifying252315
Node: ExBootable252825
Node: ExCharset253380
Node: ExPseudo254276
Node: ExCdrecord255203
Node: ExMkisofs255523
Node: ExGrowisofs256880
Node: ExException258034
Node: ExTime258492
Node: ExIncBackup258950
Node: ExRestore262976
Node: ExRecovery263922
Node: Files264494
Node: Environ265828
Node: Seealso266534
Node: Bugreport267251
Node: Legal267842
Node: CommandIdx268854
Node: ConceptIdx286188

End Tag Table

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.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 .\"
@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
composed from disk_path by replacing disk_prefix by iso_rr_prefix.
@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 [***]
@kindex -update_l inserts paths if different
@cindex Insert, if different, -update_lxi

View File

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