From 84f809f0b9fd069dc527ded7851b9a9a102ba456 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Wed, 5 Dec 2007 14:37:51 +0000 Subject: [PATCH] Made dashes at options optional --- test/xorriso.c | 192 ++++++++++++++++++++------------------- test/xorriso_timestamp.h | 2 +- 2 files changed, 102 insertions(+), 92 deletions(-) diff --git a/test/xorriso.c b/test/xorriso.c index 9883db99..f4201e12 100644 --- a/test/xorriso.c +++ b/test/xorriso.c @@ -6827,7 +6827,7 @@ return: bit0= recursion */ { - int ret; + int ret, was_dashed; int num1, num2; double d1, d2; char *cmd, *arg1, *arg2, *arg4; @@ -6848,6 +6848,11 @@ next_command:; cmd= argv[*idx]; else cmd= ""; + was_dashed= 0; + if(cmd[0]=='-' && cmd[1]!='-' && cmd[1]!=0) { + was_dashed= 1; + cmd++; + } (*idx)++; if((*idx)4); + } else if(strcmp(cmd,"ls")==0 || strcmp(cmd,"lsi")==0 || + strcmp(cmd,"ls_l")==0 || strcmp(cmd,"ls_li")==0 || + strcmp(cmd,"ls-l")==0 || strcmp(cmd,"ls-li")==0) { + ret= Xorriso_option_lsi(xorriso, argc, argv, idx, strlen(cmd)>3); - } else if(strcmp(cmd,"-lsx")==0 || strcmp(cmd,"-ls_lx")==0 - || strcmp(cmd,"-ls-lx")==0) { - ret= Xorriso_option_lsx(xorriso, argc, argv, idx, strlen(cmd)>4); + } else if(strcmp(cmd,"lsx")==0 || strcmp(cmd,"ls_lx")==0 + || strcmp(cmd,"ls-lx")==0) { + ret= Xorriso_option_lsx(xorriso, argc, argv, idx, strlen(cmd)>3); - } else if(strcmp(cmd,"-logfile")==0) { + } else if(strcmp(cmd,"logfile")==0) { (*idx)+= 2; ret= Xorriso_option_logfile(xorriso, arg1, arg2, 0); - } else if(strcmp(cmd,"-mark")==0) { + } else if(strcmp(cmd,"mark")==0) { (*idx)++; ret= Xorriso_option_mark(xorriso, arg1, 0); - } else if(strcmp(cmd,"-mv")==0 || strcmp(cmd,"-mvi")==0) { + } else if(strcmp(cmd,"mv")==0 || strcmp(cmd,"mvi")==0) { ret= Xorriso_option_mvi(xorriso, argc, argv, idx, 0); - } else if(strcmp(cmd,"-mkdir")==0 || strcmp(cmd,"-mkdiri")==0) { + } else if(strcmp(cmd,"mkdir")==0 || strcmp(cmd,"mkdiri")==0) { ret= Xorriso_option_mkdiri(xorriso, argc, argv, idx, 0); - } else if(strcmp(cmd,"-no_rc")==0) { + } else if(strcmp(cmd,"no_rc")==0) { ret= Xorriso_option_no_rc(xorriso, 0); - } else if(strcmp(cmd,"-options_from_file")==0) { + } else if(strcmp(cmd,"options_from_file")==0) { (*idx)++; ret= Xorriso_option_options_from_file(xorriso,arg1,0); if(ret==3) goto ex; - } else if(strcmp(cmd,"-overwrite")==0) { + } else if(strcmp(cmd,"overwrite")==0) { (*idx)++; ret= Xorriso_option_overwrite(xorriso,arg1,0); - } else if(strcmp(cmd,"-outdev")==0) { + } else if(strcmp(cmd,"outdev")==0) { (*idx)++; ret= Xorriso_option_dev(xorriso, arg1, 2); - } else if(strcmp(cmd,"-page")==0) { + } else if(strcmp(cmd,"page")==0) { (*idx)+= 2; num1= num2= 0; sscanf(arg1,"%d",&num1); @@ -7066,76 +7071,76 @@ next_command:; num2= 80; ret= Xorriso_option_page(xorriso, num1, num2, 0); - } else if(strcmp(cmd,"-path-list")==0 || strcmp(cmd,"-path_list")==0) { + } else if(strcmp(cmd,"path-list")==0 || strcmp(cmd,"path_list")==0) { (*idx)++; ret= Xorriso_option_path_list(xorriso, arg1, 0); - } else if(strcmp(cmd,"-pkt_output")==0) { + } else if(strcmp(cmd,"pkt_output")==0) { (*idx)++; ret= Xorriso_option_pkt_output(xorriso, arg1, 0); - } else if(strcmp(cmd,"-print")==0) { + } else if(strcmp(cmd,"print")==0) { (*idx)++; ret= Xorriso_option_print(xorriso, arg1, 0); - } else if(strcmp(cmd,"-print-size")==0 || strcmp(cmd,"-print_size")==0) { + } else if(strcmp(cmd,"print-size")==0 || strcmp(cmd,"print_size")==0) { Xorriso_option_print_size(xorriso, 0); - } else if(strcmp(cmd,"-prompt")==0) { + } else if(strcmp(cmd,"prompt")==0) { (*idx)++; ret= Xorriso_option_prompt(xorriso, arg1, 0); - } else if(strcmp(cmd,"-prog")==0) { + } else if(strcmp(cmd,"prog")==0) { (*idx)++; ret= Xorriso_option_prog(xorriso, arg1, 0); - } else if(strcmp(cmd,"-pwd")==0 || strcmp(cmd,"-pwdi")==0) { + } else if(strcmp(cmd,"pwd")==0 || strcmp(cmd,"pwdi")==0) { Xorriso_option_pwdi(xorriso, 0); - } else if(strcmp(cmd,"-pwdx")==0) { + } else if(strcmp(cmd,"pwdx")==0) { Xorriso_option_pwdx(xorriso, 0); - } else if(strcmp(cmd,"-reassure")==0) { + } else if(strcmp(cmd,"reassure")==0) { (*idx)++; ret= Xorriso_option_reassure(xorriso, arg1, 0); - } else if(strcmp(cmd,"-report_about")==0) { + } else if(strcmp(cmd,"report_about")==0) { (*idx)++; ret= Xorriso_option_report_about(xorriso, arg1, 0); - } else if(strcmp(cmd,"-rm")==0 || strcmp(cmd,"-rmi")==0) { + } else if(strcmp(cmd,"rm")==0 || strcmp(cmd,"rmi")==0) { ret= Xorriso_option_rmi(xorriso, argc, argv, idx, 0); - } else if(strcmp(cmd,"-rm_r")==0 || strcmp(cmd,"-rm_ri")==0) { + } else if(strcmp(cmd,"rm_r")==0 || strcmp(cmd,"rm_ri")==0) { ret= Xorriso_option_rmi(xorriso, argc, argv, idx, 1); - } else if(strcmp(cmd,"-rmdir")==0 || strcmp(cmd,"-rmdiri")==0) { + } else if(strcmp(cmd,"rmdir")==0 || strcmp(cmd,"rmdiri")==0) { ret= Xorriso_option_rmi(xorriso, argc, argv, idx, 2); - } else if(strcmp(cmd,"-rollback")==0) { + } else if(strcmp(cmd,"rollback")==0) { ret= Xorriso_option_rollback(xorriso, 0); - } else if(strcmp(cmd,"-speed")==0) { + } else if(strcmp(cmd,"speed")==0) { (*idx)++; ret= Xorriso_option_speed(xorriso, arg1, 0); - } else if(strcmp(cmd,"-status")==0) { + } else if(strcmp(cmd,"status")==0) { (*idx)++; ret= Xorriso_option_status(xorriso, arg1, 0); - } else if(strcmp(cmd,"-status_history_max")==0) { + } else if(strcmp(cmd,"status_history_max")==0) { (*idx)++; sscanf(arg1,"%d",&num1); ret= Xorriso_option_status_history_max(xorriso, num1, 0); - } else if(strcmp(cmd,"-tell_media_space")==0) { + } else if(strcmp(cmd,"tell_media_space")==0) { Xorriso_option_tell_media_space(xorriso, 0); - } else if(strcmp(cmd,"-temp_mem_limit")==0) { + } else if(strcmp(cmd,"temp_mem_limit")==0) { (*idx)++; ret= Xorriso_option_temp_mem_limit(xorriso, arg1, 0); - } else if(strcmp(cmd,"-test")==0) { /* This option does not exist. */ + } else if(strcmp(cmd,"test")==0) { /* This option does not exist. */ char line[4096]; struct TreeseQ *seq; struct stat *stbufpt; @@ -7167,33 +7172,33 @@ next_command:; goto eval_any_problems; } - } else if(strcmp(cmd,"-toc")==0) { + } else if(strcmp(cmd,"toc")==0) { Xorriso_option_toc(xorriso, 0); - } else if(strcmp(cmd,"-uid")==0) { + } else if(strcmp(cmd,"uid")==0) { (*idx)++; ret= Xorriso_option_uid(xorriso,arg1,0); - } else if(strcmp(cmd,"-V")==0) { + } else if(strcmp(cmd,"V")==0) { (*idx)++; ret= Xorriso_option_v_capital(xorriso,arg1,0); - } else if(strcmp(cmd,"-use_readline")==0) { + } else if(strcmp(cmd,"use_readline")==0) { (*idx)++; ret= Xorriso_option_use_readline(xorriso, arg1, 0); - } else if(strcmp(cmd,"-version")==0){ + } else if(strcmp(cmd,"version")==0){ ret= Xorriso_option_version(xorriso, 0); } else if(strcmp(cmd,"--")==0){ /* tis ok */; - } else if(cmd[0]=='-') { + } else if(was_dashed) { unknown_option:; sprintf(xorriso->info_text, "=== Not a known option:\n"); sprintf(xorriso->info_text+strlen(xorriso->info_text), - "=== '%s'\n",cmd); + "=== '%s%s'\n",(was_dashed ? "-" : ""), cmd); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0); {ret= 0; goto eval_any_problems;} @@ -7242,7 +7247,7 @@ int Xorriso_execute_option(struct XorrisO *xorriso, char *line, int flag) tdiff= tv.tv_sec+(1.e-6*(double) tv.tv_usec); /* parse line into args */ - ret= Sfile_make_argv(xorriso->progname, line, &argc, &argv, 4|8); + ret= Sfile_make_argv(xorriso->progname, line, &argc, &argv, 4); if(ret<=0) goto ex; if(argc<2) @@ -7332,32 +7337,37 @@ int Xorriso_prescan_args(struct XorrisO *xorriso, int argc, char **argv, 1 ok, go on */ { - int i,ret; + int i, ret, was_dashed; char *cmd, *arg1; for(i=1+(flag&1);i1) xorriso->did_something_useful= 1; if(i==1 && argc==2) { - if(strcmp(cmd,"-prog_help")==0) { + if(strcmp(cmd,"prog_help")==0) { i++; Xorriso_option_prog_help(xorriso,arg1,0); xorriso->did_something_useful= 1; return(0); - } else if(strcmp(cmd,"-help")==0) { + } else if(strcmp(cmd,"help")==0) { Xorriso_option_help(xorriso,0); xorriso->did_something_useful= 1; return(0); - } else if(strcmp(cmd,"-version")==0) { + } else if(strcmp(cmd,"version")==0) { Xorriso_option_version(xorriso, 0); xorriso->did_something_useful= 1; return(0); } - } else if(strcmp(cmd,"-no_rc")==0) { + } else if(strcmp(cmd,"no_rc")==0) { ret= Xorriso_option_no_rc(xorriso, 0); if(ret<=0) return(ret); diff --git a/test/xorriso_timestamp.h b/test/xorriso_timestamp.h index 270a133b..3c6f494f 100644 --- a/test/xorriso_timestamp.h +++ b/test/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2007.12.05.090438" +#define Xorriso_timestamP "2007.12.05.143632"