From aa51bde75ca2fed65e5e83d6e36e6f83794a1ad9 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Mon, 1 Jul 2013 18:06:39 +0000 Subject: [PATCH] New command -sh_style_result --- libisoburn/libisoburn.ver | 1 + xorriso/base_obj.c | 1 + xorriso/disk_ops.c | 22 ++++--- xorriso/iso_manip.c | 2 +- xorriso/iso_tree.c | 26 +++++--- xorriso/opts_a_c.c | 14 +++-- xorriso/opts_p_z.c | 28 ++++++++- xorriso/parse_exec.c | 7 ++- xorriso/text_io.c | 32 ++++++++++ xorriso/text_io.h | 3 + xorriso/xorriso.1 | 14 ++++- xorriso/xorriso.h | 6 ++ xorriso/xorriso.info | 121 ++++++++++++++++++++---------------- xorriso/xorriso.texi | 16 ++++- xorriso/xorriso_timestamp.h | 2 +- 15 files changed, 211 insertions(+), 84 deletions(-) diff --git a/libisoburn/libisoburn.ver b/libisoburn/libisoburn.ver index efd5b321..759bb8e6 100644 --- a/libisoburn/libisoburn.ver +++ b/libisoburn/libisoburn.ver @@ -276,6 +276,7 @@ Xorriso_option_setfacl_listi; Xorriso_option_setfattri; Xorriso_option_setfattr_listi; Xorriso_option_set_filter; +Xorriso_option_sh_style_result; Xorriso_option_signal_handling; Xorriso_option_sleep; Xorriso_option_speed; diff --git a/xorriso/base_obj.c b/xorriso/base_obj.c index f4ead501..8377ecda 100644 --- a/xorriso/base_obj.c +++ b/xorriso/base_obj.c @@ -295,6 +295,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag) m->do_strict_acl= 0; m->dialog= 0; m->bsl_interpretation= 0; + m->sh_style_result= 0; m->search_mode= 0; m->structured_search= 1; m->do_iso_rr_pattern= 1; diff --git a/xorriso/disk_ops.c b/xorriso/disk_ops.c index 7a8bfb65..3d0c129d 100644 --- a/xorriso/disk_ops.c +++ b/xorriso/disk_ops.c @@ -544,9 +544,12 @@ revoke_sorting:; report_size= sub_size/1024; if(report_size*1024result_line, "%7.f ",(double) (report_size)); + if(xorriso->sh_style_result) + sprintf(xorriso->result_line, "%-7.f ",(double) (report_size)); + else + sprintf(xorriso->result_line, "%7.f ",(double) (report_size)); sprintf(xorriso->result_line+strlen(xorriso->result_line), "%s\n", - Text_shellsafe(show_path, sfe, 0)); + Xorriso_esc_filepath(xorriso,show_path, sfe, 0)); Xorriso_result(xorriso, 0); } @@ -848,7 +851,7 @@ int Xorriso_lsx_filev(struct XorrisO *xorriso, char *wd, if(filec>1) { strcpy(xorriso->result_line, "\n"); Xorriso_result(xorriso,0); - Text_shellsafe(filev[i], xorriso->result_line, 0); + Xorriso_esc_filepath(xorriso,filev[i], xorriso->result_line, 0); strcat(xorriso->result_line, ":\n"); Xorriso_result(xorriso,0); } @@ -894,14 +897,17 @@ int Xorriso_lsx_filev(struct XorrisO *xorriso, char *wd, if(ret==0) continue; } - sprintf(rpt, "%7.f ",(double) (size/1024)); + if(xorriso->sh_style_result) + sprintf(rpt, "%-7.f ",(double) (size/1024)); + else + sprintf(rpt, "%7.f ",(double) (size/1024)); } if(link_target[0]) { - Text_shellsafe(filev[i], xorriso->result_line, 1); + Xorriso_esc_filepath(xorriso,filev[i], xorriso->result_line, 1); strcat(xorriso->result_line, " -> "); - Text_shellsafe(link_target, xorriso->result_line, 1 | 2); + Xorriso_esc_filepath(xorriso,link_target, xorriso->result_line, 1 | 2); } else { - Text_shellsafe(filev[i], xorriso->result_line, 1); + Xorriso_esc_filepath(xorriso,filev[i], xorriso->result_line, 1); } strcat(xorriso->result_line, "\n"); Xorriso_result(xorriso, 0); @@ -1225,7 +1231,7 @@ int Xorriso_findx_action(struct XorrisO *xorriso, struct FindjoB *job, } else if(action == 44) { /* list_extattr */ ret= Xorriso_list_extattr(xorriso, NULL, abs_path, show_path, target, 2); } else { - Text_shellsafe(show_path, xorriso->result_line, 0); + Xorriso_esc_filepath(xorriso,show_path, xorriso->result_line, 0); strcat(xorriso->result_line, "\n"); Xorriso_result(xorriso, 0); ret= 1; diff --git a/xorriso/iso_manip.c b/xorriso/iso_manip.c index 373b718c..fff0502e 100644 --- a/xorriso/iso_manip.c +++ b/xorriso/iso_manip.c @@ -2676,7 +2676,7 @@ int Xorriso_findi_action(struct XorrisO *xorriso, struct FindjoB *job, ret= 1; } else { /* includes : 15 in_iso */ - Text_shellsafe(show_path, xorriso->result_line, 0); + Xorriso_esc_filepath(xorriso, show_path, xorriso->result_line, 0); strcat(xorriso->result_line, "\n"); Xorriso_result(xorriso, 0); ret= 1; diff --git a/xorriso/iso_tree.c b/xorriso/iso_tree.c index 5ee172cc..2d4203d8 100644 --- a/xorriso/iso_tree.c +++ b/xorriso/iso_tree.c @@ -1448,9 +1448,12 @@ much_too_long:; report_size= sub_size/1024; if(report_size*1024result_line, "%7.f ",(double) (report_size)); + if(xorriso->sh_style_result) + sprintf(xorriso->result_line, "%-7.f ",(double) (report_size)); + else + sprintf(xorriso->result_line, "%7.f ",(double) (report_size)); sprintf(xorriso->result_line+strlen(xorriso->result_line), "%s\n", - Text_shellsafe(show_path, sfe, 0)); + Xorriso_esc_filepath(xorriso, show_path, sfe, 0)); Xorriso_result(xorriso, 0); } ret= 1; @@ -1621,7 +1624,7 @@ int Xorriso_ls_filev(struct XorrisO *xorriso, char *wd, if(filec>1) { strcpy(xorriso->result_line, "\n"); Xorriso_result(xorriso,0); - Text_shellsafe(filev[i], xorriso->result_line, 0); + Xorriso_esc_filepath(xorriso, filev[i], xorriso->result_line, 0); strcat(xorriso->result_line, ":\n"); Xorriso_result(xorriso,0); } @@ -1670,14 +1673,17 @@ int Xorriso_ls_filev(struct XorrisO *xorriso, char *wd, if(ret==0) continue; } - sprintf(rpt, "%7.f ",(double) (size/1024)); + if(xorriso->sh_style_result) + sprintf(rpt, "%-7.f ",(double) (size/1024)); + else + sprintf(rpt, "%7.f ",(double) (size/1024)); } if(link_target[0] && (flag&5)==1) { - Text_shellsafe(filev[i], xorriso->result_line, 1), + Xorriso_esc_filepath(xorriso, filev[i], xorriso->result_line, 1), strcat(xorriso->result_line, " -> "); - Text_shellsafe(link_target, xorriso->result_line, 1 | 2); + Xorriso_esc_filepath(xorriso, link_target, xorriso->result_line, 1 | 2); } else { - Text_shellsafe(filev[i], xorriso->result_line, 1); + Xorriso_esc_filepath(xorriso, filev[i], xorriso->result_line, 1); } strcat(xorriso->result_line, "\n"); Xorriso_result(xorriso, 0); @@ -1783,11 +1789,11 @@ cannot_create_iter:; continue; } if(link_target[0] && (flag&1)) { - Text_shellsafe(npt, xorriso->result_line, 1); + Xorriso_esc_filepath(xorriso, npt, xorriso->result_line, 1); strcat(xorriso->result_line, " -> "); - Text_shellsafe(link_target, xorriso->result_line, 1 | 2); + Xorriso_esc_filepath(xorriso, link_target, xorriso->result_line, 1 | 2); } else { - Text_shellsafe(npt, xorriso->result_line, 1); + Xorriso_esc_filepath(xorriso, npt, xorriso->result_line, 1); } strcat(xorriso->result_line, "\n"); Xorriso_result(xorriso, 0); diff --git a/xorriso/opts_a_c.c b/xorriso/opts_a_c.c index d6e4ac36..3ea5644c 100644 --- a/xorriso/opts_a_c.c +++ b/xorriso/opts_a_c.c @@ -1,7 +1,7 @@ /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. - Copyright 2007-2012 Thomas Schmitt, + Copyright 2007-2013 Thomas Schmitt, Provided under GPL version 2 or later. @@ -1209,8 +1209,10 @@ int Xorriso_option_cdi(struct XorrisO *xorriso, char *iso_rr_path, int flag) Xorriso_warn_of_wildcards(xorriso, iso_rr_path, 1); sprintf(xorriso->info_text,"previous working directory:\n"); Xorriso_info(xorriso,0); - Text_shellsafe(xorriso->wdi, xorriso->result_line, 0); - strcat(xorriso->result_line, "/\n"); + Xorriso_esc_filepath(xorriso, xorriso->wdi, xorriso->result_line, 0); + if(xorriso->sh_style_result == 0 || xorriso->wdi[0] == 0) + strcat(xorriso->result_line, "/"); + strcat(xorriso->result_line, "\n"); Xorriso_result(xorriso,0); if(strcmp(iso_rr_path,"/")==0 || iso_rr_path[0]==0) { strcpy(xorriso->wdi,""); @@ -1270,8 +1272,10 @@ int Xorriso_option_cdx(struct XorrisO *xorriso, char *disk_path, int flag) Xorriso_warn_of_wildcards(xorriso, disk_path, 1|2); sprintf(xorriso->info_text,"previous working directory on hard disk:\n"); Xorriso_info(xorriso,0); - Text_shellsafe(xorriso->wdx, xorriso->result_line, 0); - strcat(xorriso->result_line, "/\n"); + Xorriso_esc_filepath(xorriso, xorriso->wdx, xorriso->result_line, 0); + if(xorriso->sh_style_result == 0 || xorriso->wdx[0] == 0) + strcat(xorriso->result_line, "/"); + strcat(xorriso->result_line, "\n"); Xorriso_result(xorriso,0); if(strcmp(disk_path,"/")==0) { strcpy(xorriso->wdx,""); diff --git a/xorriso/opts_p_z.c b/xorriso/opts_p_z.c index 2ebcc798..e7ddf4d6 100644 --- a/xorriso/opts_p_z.c +++ b/xorriso/opts_p_z.c @@ -416,8 +416,10 @@ int Xorriso_option_pwdi(struct XorrisO *xorriso, int flag) { sprintf(xorriso->info_text,"current working directory in ISO image:\n"); Xorriso_info(xorriso,0); - Text_shellsafe(xorriso->wdi, xorriso->result_line, 0); - strcat(xorriso->result_line, "/\n"); + Xorriso_esc_filepath(xorriso, xorriso->wdi, xorriso->result_line, 0); + if(xorriso->sh_style_result == 0 || xorriso->wdi[0] == 0) + strcat(xorriso->result_line, "/"); + strcat(xorriso->result_line, "\n"); Xorriso_result(xorriso,0); return(1); } @@ -428,7 +430,10 @@ int Xorriso_option_pwdx(struct XorrisO *xorriso, int flag) { sprintf(xorriso->info_text,"current working directory on hard disk:\n"); Xorriso_info(xorriso,0); - sprintf(xorriso->result_line,"%s/\n",xorriso->wdx); + Xorriso_esc_filepath(xorriso, xorriso->wdx, xorriso->result_line, 0); + if(xorriso->sh_style_result == 0 || xorriso->wdx[0] == 0) + strcat(xorriso->result_line, "/"); + strcat(xorriso->result_line, "\n"); Xorriso_result(xorriso,0); return(1); } @@ -1223,6 +1228,23 @@ ex:; } +/* Option -sh_style_result */ +int Xorriso_option_sh_style_result(struct XorrisO *xorriso, char *mode, + int flag) +{ + if(strcmp(mode, "off") == 0) { + xorriso->sh_style_result= 0; + } else if(strcmp(mode, "on") == 0) { + xorriso->sh_style_result= 1; + } else { + sprintf(xorriso->info_text, "-sh_style_result: unknown mode '%s'", mode); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); + return(0); + } + return(1); +} + + /* Option -signal_handling */ /* @param flag bit0= prescan mode: do not yet install the eventual handler else: when switching from other modes to "off": diff --git a/xorriso/parse_exec.c b/xorriso/parse_exec.c index 7f806203..dd0e8280 100644 --- a/xorriso/parse_exec.c +++ b/xorriso/parse_exec.c @@ -517,7 +517,7 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv, "prog","prog_help","publisher","quoted_not_list","quoted_path_list", "reassure","report_about","rockridge", "rom_toc_scan","rr_reloc_dir","scsi_log", - "session_log","signal_handling","sleep", + "session_log","sh_style_result","signal_handling","sleep", "speed","split_size","status","status_history_max", "stdio_sync","stream_recording","system_id","temp_mem_limit","toc_of", "uid","unregister_filter","use_readline","volid","volset_id", @@ -641,6 +641,7 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso, "errfile_log", "session_log", "scsi_log", "options_from_file", "list_delimiter", "print", "print_info", "print_mark", "prompt", "sleep", + "sh_style_result", "* Drive and media related inquiry actions (1):", "devices", "device_links", @@ -1704,6 +1705,10 @@ next_command:; ret= Xorriso_option_set_filter(xorriso, "", argc, argv, idx, (strcmp(cmd,"show_stream_r")==0) | 2 | 4); + } else if(strcmp(cmd,"sh_style_result")==0) { + (*idx)++; + ret= Xorriso_option_sh_style_result(xorriso, arg1, 0); + } else if(strcmp(cmd,"signal_handling")==0) { (*idx)++; ret= Xorriso_option_signal_handling(xorriso, arg1, 0); diff --git a/xorriso/text_io.c b/xorriso/text_io.c index fb8dece4..c2e04638 100644 --- a/xorriso/text_io.c +++ b/xorriso/text_io.c @@ -2480,6 +2480,12 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag) if(!(is_default && no_defaults)) Xorriso_status_result(xorriso,filter,fp,flag&2); + is_default= (xorriso->sh_style_result == 0); + sprintf(line, "-sh_style_result %s\n", + xorriso->sh_style_result ? "on" : "off"); + if(!(is_default && no_defaults)) + Xorriso_status_result(xorriso,filter,fp,flag&2); + is_default= (xorriso->bsl_interpretation == 0); strcpy(line, "-backslash_codes "); if(xorriso->bsl_interpretation == 0) @@ -4119,3 +4125,29 @@ ex:; } +/* @param flag bit0= append to out_text rather than overwrite it + bit1= length limit is 10 * SfileadrL rather than 5 * +*/ +char *Xorriso_esc_filepath(struct XorrisO *xorriso, + char *in_text, char *out_text, int flag) +{ + int l, w=0, limit= 5 * SfileadrL; + char *res; + + if(xorriso->sh_style_result == 0) { + res= Text_shellsafe(in_text, out_text, flag); + return(res); + } + if(flag&1) + w= strlen(out_text); + if(flag & 2) + limit= 10 * SfileadrL; + l= strlen(in_text); + if(w + l >= limit) { + strcpy(out_text, "'xorriso: TEXT MUCH TOO LONG ... "); + return(out_text); + } + strcpy(out_text + w, in_text); + return(out_text); +} + diff --git a/xorriso/text_io.h b/xorriso/text_io.h index ddf957a4..e8c27db9 100644 --- a/xorriso/text_io.h +++ b/xorriso/text_io.h @@ -102,5 +102,8 @@ int Xorriso_launch_frontend(struct XorrisO *xorriso, int argc, char **argv, int Xorriso_named_pipe_loop(struct XorrisO *xorriso, char *pipe_paths[3], int flag); +char *Xorriso_esc_filepath(struct XorrisO *xorriso, + char *in_text, char *out_text, int flag); + #endif /* ! Xorriso_pvt_textio_includeD */ diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index 47d01cc0..e33e61c4 100644 --- a/xorriso/xorriso.1 +++ b/xorriso/xorriso.1 @@ -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.3.1, Jun 29, 2013" +.TH XORRISO 1 "Version 1.3.1, Jul 01, 2013" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -4423,6 +4423,18 @@ quotation marks. For brevity the list delimiter is referred as "\-\-" throughout this text. .TP +\fB\-sh_style_result\fR "on"|"off" +Make the result output of some filesystem inspection commands look more like +the output of equivalent shell commands. The most important effect is to +prevent the wrapping of file addresses into quotation marks with commands + \-pwd \-pwdx \-ls \-lsd \-lsl \-lsdl \-lsx \-lsdx \-lslx \-lsdlx + \-du \-dus \-dux \-dusx \-findx \-find +.br +This will make ambigous the representation of file names which contain +newline characters. On the other hand it should facilitate integration +of xorriso into shell scripts which already use the corresponding +shell commands. +.TP \fB\-backslash_codes\fR "on"|"off"|mode[:mode] Enable or disable the interpretation of symbolic representations of special characters with quoted input, or with program arguments, or with program diff --git a/xorriso/xorriso.h b/xorriso/xorriso.h index 4c102698..f6a982fb 100644 --- a/xorriso/xorriso.h +++ b/xorriso/xorriso.h @@ -1664,6 +1664,7 @@ int Xorriso_option_mvi(struct XorrisO *xorriso, int argc, char **argv, int *idx, int flag); /* Option -named_pipe_loop */ +/* @since 1.3.2 */ int Xorriso_option_named_pipe_loop(struct XorrisO *xorriso, char *stdin_pipe, char *stdout_pipe, char *stderr_pipe, int flag); @@ -1849,6 +1850,11 @@ int Xorriso_option_setfattr_listi(struct XorrisO *xorriso, char *path, int Xorriso_option_set_filter(struct XorrisO *xorriso, char *name, int argc, char **argv, int *idx, int flag); +/* Option -sh_style_result */ +/* @since 1.3.2 */ +int Xorriso_option_sh_style_result(struct XorrisO *xorriso, char *mode, + int flag); + /* Command -signal_handling */ /* @param flag bit0= do not yet install the eventual handler @since 1.1.0 diff --git a/xorriso/xorriso.info b/xorriso/xorriso.info index 2f26cf38..5f227264 100644 --- a/xorriso/xorriso.info +++ b/xorriso/xorriso.info @@ -3877,6 +3877,17 @@ File: xorriso.info, Node: Scripting, Next: Frontend, Prev: Emulation, Up: Co For brevity the list delimiter is referred as "--" throughout this text. +-sh_style_result "on"|"off" + Make the result output of some filesystem inspection commands look + more like the output of equivalent shell commands. The most + important effect is to prevent the wrapping of file addresses into + quotation marks with commands -pwd -pwdx -ls -lsd -lsl -lsdl + -lsx -lsdx -lslx -lsdlx -du -dus -dux -dusx -findx -find + This will make ambigous the representation of file names which + contain newline characters. On the other hand it should facilitate + integration of xorriso into shell scripts which already use the + corresponding shell commands. + -backslash_codes "on"|"off"|mode[:mode] Enable or disable the interpretation of symbolic representations of special characters with quoted input, or with program @@ -4753,7 +4764,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top [index] * Menu: -* # starts a comment line: Scripting. (line 162) +* # starts a comment line: Scripting. (line 173) * -abort_on controls abort on error: Exception. (line 27) * -abstract_file sets abstract file name: SetWrite. (line 233) * -acl controls handling of ACLs: Loading. (line 146) @@ -4767,7 +4778,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -as emulates mkisofs or cdrecord: Emulation. (line 13) * -assert_volid rejects undesired images: Loading. (line 84) * -auto_charset learns character set from image: Loading. (line 98) -* -backslash_codes enables backslash conversion: Scripting. (line 67) +* -backslash_codes enables backslash conversion: Scripting. (line 78) * -ban_stdio_write demands real drive: Loading. (line 254) * -biblio_file sets biblio file name: SetWrite. (line 240) * -blank erases media: Writing. (line 61) @@ -4822,8 +4833,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -dvd_obs set write block size: SetWrite. (line 311) * -early_stdio_test classifies stdio drives: Loading. (line 259) * -eject ejects drive tray: Writing. (line 52) -* -end writes pending session and ends program: Scripting. (line 156) -* -errfile_log logs problematic disk files: Scripting. (line 118) +* -end writes pending session and ends program: Scripting. (line 167) +* -errfile_log logs problematic disk files: Scripting. (line 129) * -error_behavior controls error workarounds: Exception. (line 96) * -external_filter registers data filter: Filter. (line 20) * -external_filter unregisters data filter: Filter. (line 48) @@ -4906,13 +4917,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -pathspecs sets meaning of = with -add: SetInsert. (line 118) * -pkt_output consolidates text output: Frontend. (line 7) * -preparer_id sets preparer id: SetWrite. (line 246) -* -print prints result text line: Scripting. (line 99) -* -print_info prints message text line: Scripting. (line 102) -* -print_mark prints synchronizing text line: Scripting. (line 105) +* -print prints result text line: Scripting. (line 110) +* -print_info prints message text line: Scripting. (line 113) +* -print_mark prints synchronizing text line: Scripting. (line 116) * -print_size predicts image size: Inquiry. (line 91) * -prog sets program name: Frontend. (line 169) * -prog_help prints help text: Frontend. (line 172) -* -prompt prompts for enter key: Scripting. (line 110) +* -prompt prompts for enter key: Scripting. (line 121) * -publisher sets publisher id: SetWrite. (line 186) * -pvd_info shows image id strings: Inquiry. (line 115) * -pwd tells working directory in ISO: Navigate. (line 20) @@ -4930,13 +4941,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -rockridge disables production of Rock Ridge info: SetWrite. (line 52) * -rollback discards pending changes: Writing. (line 9) -* -rollback_end ends program without writing: Scripting. (line 159) +* -rollback_end ends program without writing: Scripting. (line 170) * -rom_toc_scan searches for sessions: Loading. (line 214) * -rr_reloc_dir sets name of relocation directory: SetWrite. (line 141) * -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 177) -* -scsi_log reports SCSI commands: Scripting. (line 147) -* -session_log logs written sessions: Scripting. (line 138) +* -scsi_log reports SCSI commands: Scripting. (line 158) +* -session_log logs written sessions: Scripting. (line 149) * -session_string composes session info line: Inquiry. (line 78) * -set_filter applies filter to file: Filter. (line 60) * -set_filter_r applies filter to file tree: Filter. (line 89) @@ -4946,11 +4957,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -setfattr sets xattr in ISO image: Manip. (line 118) * -setfattr_list sets xattr in ISO image: Manip. (line 134) * -setfattr_r sets xattr in ISO image: Manip. (line 131) +* -sh_style_result makes results look more like shell: Scripting. + (line 67) * -show_stream shows data source and filters: Navigate. (line 169) * -show_stream_r shows data source and filters: Navigate. (line 183) * -signal_handling controls handling of system signals: Exception. (line 69) -* -sleep waits for a given time span: Scripting. (line 114) +* -sleep waits for a given time span: Scripting. (line 125) * -speed set write speed: SetWrite. (line 284) * -split_size enables large file splitting: SetInsert. (line 140) * -status shows current settings: Scripting. (line 47) @@ -4959,7 +4972,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -stream_recording controls defect management: SetWrite. (line 299) * -system_id sets system id: SetWrite. (line 201) * -tell_media_space reports free space: Inquiry. (line 104) -* -temp_mem_limit curbs memory consumption: Scripting. (line 92) +* -temp_mem_limit curbs memory consumption: Scripting. (line 103) * -toc shows list of sessions: Inquiry. (line 28) * -toc_of shows list of sessions: Inquiry. (line 43) * -uid sets global ownership: SetWrite. (line 264) @@ -5015,7 +5028,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Character Set, of terminal, -local_charset: Charset. (line 47) * CHRP partition, _definition: Bootable. (line 158) * Closed media, _definition: Media. (line 43) -* Comment, #: Scripting. (line 162) +* Comment, #: Scripting. (line 173) * Control, signal handling, -signal_handling: Exception. (line 69) * Create, new ISO image, _definition: Methods. (line 6) * Cylinder alignment, _definition: Bootable. (line 198) @@ -5047,7 +5060,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Drive, get drive list, -devices: Inquiry. (line 7) * Drive, list supported media, -list_profiles: Writing. (line 177) * Drive, reduce activity, -calm_drive: Loading. (line 243) -* Drive, report SCSI commands, -scsi_log: Scripting. (line 147) +* Drive, report SCSI commands, -scsi_log: Scripting. (line 158) * Drive, write and eject, -commit_eject: Writing. (line 56) * EA, _definition: Extras. (line 65) * ECMA-119, _definition: Model. (line 6) @@ -5171,31 +5184,31 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Process, control exit value, -return_with: Exception. (line 39) * Process, control verbosity, -report_about: Exception. (line 55) * Process, disable startup files, -no_rc: Scripting. (line 7) -* Process, end program and write, -end: Scripting. (line 156) -* Process, end program, no writing, -rollback_end: Scripting. (line 159) +* Process, end program and write, -end: Scripting. (line 167) +* Process, end program, no writing, -rollback_end: Scripting. (line 170) * Process, error workarounds, -error_behavior: Exception. (line 96) * Process, log output channels to file, -logfile: Frontend. (line 20) * Process, read command file, -options_from_file: Scripting. (line 12) * Process, set synchronizing message, -mark: Frontend. (line 25) * Program messages, perform operations, -msg_op: Frontend. (line 30) -* Program, backslash conversion, -backslash_codes: Scripting. (line 67) -* Program, curb memory, -temp_mem_limit: Scripting. (line 92) -* Program, end and write, -end: Scripting. (line 156) -* Program, end without writing, -rollback_end: Scripting. (line 159) +* Program, backslash conversion, -backslash_codes: Scripting. (line 78) +* Program, curb memory, -temp_mem_limit: Scripting. (line 103) +* Program, end and write, -end: Scripting. (line 167) +* Program, end without writing, -rollback_end: Scripting. (line 170) * Program, list extra features, -list_extras: Scripting. (line 26) * Program, print help text, -help: Scripting. (line 20) * Program, print help text, -prog_help: Frontend. (line 172) -* Program, print message text line, -print_info: Scripting. (line 102) -* Program, print result text line, -print: Scripting. (line 99) +* Program, print message text line, -print_info: Scripting. (line 113) +* Program, print result text line, -print: Scripting. (line 110) * Program, print synchronizing text line, -print_mark: Scripting. - (line 105) + (line 116) * Program, print version, -version: Scripting. (line 23) -* Program, prompt for enter key, -prompt: Scripting. (line 110) +* Program, prompt for enter key, -prompt: Scripting. (line 121) * Program, replace --, -list_delimiter: Scripting. (line 60) * Program, set name, -prog: Frontend. (line 169) * Program, show current settings, -status: Scripting. (line 47) * Program, status history, -status_history_max: Scripting. (line 56) -* Program, wait a time span, -sleep: Scripting. (line 114) +* Program, wait a time span, -sleep: Scripting. (line 125) * Quoted input, _definition: Processing. (line 46) * Recovery, retrieve blocks, -check_media: Verify. (line 21) * Relocation directory, set name, -rr_reloc_dir: SetWrite. (line 141) @@ -5210,12 +5223,14 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Restore, copy files to disk, -cpx: Restore. (line 95) * Restore, copy files to disk, -extract_l: Restore. (line 79) * Restore, enable ISO-to-disk, -osirrox: Restore. (line 18) +* Result layout, more shell-like, -sh_style_result: Scripting. + (line 67) * Rock Ridge, _definition: Extras. (line 6) * Session, _definition: Model. (line 6) * Session, altered start address, -displacement: Loading. (line 36) * Session, info string, -session_string: Inquiry. (line 78) * Session, issue mount command, -mount: Restore. (line 129) -* Session, log when written, -session_log: Scripting. (line 138) +* Session, log when written, -session_log: Scripting. (line 149) * Session, mount command line, -mount_cmd: Inquiry. (line 52) * Session, mount parameters, -mount_opts: Inquiry. (line 68) * Session, select as input, -load: Loading. (line 11) @@ -5248,8 +5263,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Write, enable Joliet, -joliet: SetWrite. (line 10) * Write, fifo size, -fs: SetWrite. (line 328) * Write, free space, -tell_media_space: Inquiry. (line 104) -* Write, log problematic disk files, -errfile_log: Scripting. (line 118) -* Write, log written sessions, -session_log: Scripting. (line 138) +* Write, log problematic disk files, -errfile_log: Scripting. (line 129) +* Write, log written sessions, -session_log: Scripting. (line 149) * Write, padding image, -padding: SetWrite. (line 349) * Write, pending ISO image, -commit: Writing. (line 29) * Write, predict image size, -print_size: Inquiry. (line 91) @@ -5298,29 +5313,29 @@ Node: Verify169522 Node: Restore178554 Node: Emulation185641 Node: Scripting195943 -Node: Frontend203100 -Node: Examples212162 -Node: ExDevices213340 -Node: ExCreate213999 -Node: ExDialog215284 -Node: ExGrowing216549 -Node: ExModifying217354 -Node: ExBootable217858 -Node: ExCharset218410 -Node: ExPseudo219231 -Node: ExCdrecord220129 -Node: ExMkisofs220446 -Node: ExGrowisofs221786 -Node: ExException222921 -Node: ExTime223375 -Node: ExIncBackup223834 -Node: ExRestore227814 -Node: ExRecovery228747 -Node: Files229317 -Node: Seealso230616 -Node: Bugreport231339 -Node: Legal231920 -Node: CommandIdx232931 -Node: ConceptIdx249306 +Node: Frontend203714 +Node: Examples212776 +Node: ExDevices213954 +Node: ExCreate214613 +Node: ExDialog215898 +Node: ExGrowing217163 +Node: ExModifying217968 +Node: ExBootable218472 +Node: ExCharset219024 +Node: ExPseudo219845 +Node: ExCdrecord220743 +Node: ExMkisofs221060 +Node: ExGrowisofs222400 +Node: ExException223535 +Node: ExTime223989 +Node: ExIncBackup224448 +Node: ExRestore228428 +Node: ExRecovery229361 +Node: Files229931 +Node: Seealso231230 +Node: Bugreport231953 +Node: Legal232534 +Node: CommandIdx233545 +Node: ConceptIdx250061  End Tag Table diff --git a/xorriso/xorriso.texi b/xorriso/xorriso.texi index a73f0815..6d427964 100644 --- a/xorriso/xorriso.texi +++ b/xorriso/xorriso.texi @@ -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.3.1, Jun 29, 2013" +@c man .TH XORRISO 1 "Version 1.3.1, Jul 01, 2013" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -5171,6 +5171,20 @@ quotation marks. For brevity the list delimiter is referred as "@minus{}@minus{}" throughout this text. @c man .TP +@item -sh_style_result "on"|"off" +@kindex -sh_style_result makes results look more like shell +@cindex Result layout, more shell-like, -sh_style_result +Make the result output of some filesystem inspection commands look more like +the output of equivalent shell commands. The most important effect is to +prevent the wrapping of file addresses into quotation marks with commands + -pwd -pwdx -ls -lsd -lsl -lsdl -lsx -lsdx -lslx -lsdlx + -du -dus -dux -dusx -findx -find +@* +This will make ambigous the representation of file names which contain +newline characters. On the other hand it should facilitate integration +of xorriso into shell scripts which already use the corresponding +shell commands. +@c man .TP @item -backslash_codes "on"|"off"|mode[:mode] @kindex -backslash_codes enables backslash conversion @cindex Program, backslash conversion, -backslash_codes diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index a0ddd61b..bdf0888a 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2013.06.30.160008" +#define Xorriso_timestamP "2013.07.01.180608"