Made dashes at options optional

This commit is contained in:
Thomas Schmitt 2007-12-05 14:37:51 +00:00
parent 9846ae3b17
commit 71ca7e0eb3
2 changed files with 102 additions and 92 deletions

View File

@ -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)<argc)
@ -6863,55 +6868,55 @@ next_command:;
if(cmd[0]=='#' || cmd[0]==0) {
/* ignore comment line and empty option */;
} else if(strcmp(cmd,"-abort_on")==0) {
} else if(strcmp(cmd,"abort_on")==0) {
(*idx)++;
ret= Xorriso_option_abort_on(xorriso, arg1, 0);
} else if(strcmp(cmd,"-add")==0) {
} else if(strcmp(cmd,"add")==0) {
ret= Xorriso_option_add(xorriso, argc, argv, idx, 0);
} else if(strcmp(cmd,"-alter_date")==0) {
} else if(strcmp(cmd,"alter_date")==0) {
(*idx)+= 2;
ret= Xorriso_option_alter_date(xorriso, arg1, arg2, argc, argv, idx, 0);
} else if(strcmp(cmd,"-ban_stdio_write")==0) {
} else if(strcmp(cmd,"ban_stdio_write")==0) {
ret= Xorriso_option_ban_stdio_write(xorriso, 0);
} else if(strcmp(cmd,"-blank")==0) {
} else if(strcmp(cmd,"blank")==0) {
(*idx)++;
ret= Xorriso_option_blank(xorriso, arg1, 0);
} else if(strcmp(cmd,"-cd")==0 || strcmp(cmd,"-cdi")==0) {
} else if(strcmp(cmd,"cd")==0 || strcmp(cmd,"cdi")==0) {
(*idx)++;
ret= Xorriso_option_cdi(xorriso, arg1, 0);
} else if(strcmp(cmd,"-cdx")==0) {
} else if(strcmp(cmd,"cdx")==0) {
(*idx)++;
ret= Xorriso_option_cdx(xorriso, arg1, 0);
} else if(strcmp(cmd,"-chgrp")==0 || strcmp(cmd,"-chgrpi")==0) {
} else if(strcmp(cmd,"chgrp")==0 || strcmp(cmd,"chgrpi")==0) {
(*idx)+= 1;
ret= Xorriso_option_chgrpi(xorriso, arg1, argc, argv, idx, 0);
} else if(strcmp(cmd,"-chmod")==0 || strcmp(cmd,"-chmodi")==0) {
} else if(strcmp(cmd,"chmod")==0 || strcmp(cmd,"chmodi")==0) {
(*idx)+= 1;
ret= Xorriso_option_chmodi(xorriso, arg1, argc, argv, idx, 0);
} else if(strcmp(cmd,"-chown")==0 || strcmp(cmd,"-chowni")==0) {
} else if(strcmp(cmd,"chown")==0 || strcmp(cmd,"chowni")==0) {
(*idx)+= 1;
ret= Xorriso_option_chowni(xorriso, arg1, argc, argv, idx, 0);
} else if(strcmp(cmd,"-close")==0) {
} else if(strcmp(cmd,"close")==0) {
(*idx)++;
ret= Xorriso_option_close(xorriso, arg1, 0);
} else if(strcmp(cmd,"-commit")==0) {
} else if(strcmp(cmd,"commit")==0) {
ret= Xorriso_option_commit(xorriso, 0);
} else if(strcmp(cmd,"-cp_r")==0 || strcmp(cmd,"-cp_ri")==0) {
} else if(strcmp(cmd,"cp_r")==0 || strcmp(cmd,"-cp_ri")==0) {
ret= Xorriso_option_cp_ri(xorriso, argc, argv, idx, 0);
} else if(strcmp(cmd,"-cut_out")==0) {
} else if(strcmp(cmd,"cut_out")==0) {
(*idx)+= 2;
d1= d2= -1;
sscanf(arg2,"%lf", &d1);
@ -6924,136 +6929,136 @@ next_command:;
(*idx)+= 2;
ret= Xorriso_option_cut_out(xorriso, arg1, (off_t) d1, (off_t) d2, arg4, 0);
} else if(strcmp(cmd,"-dev")==0) {
} else if(strcmp(cmd,"dev")==0) {
(*idx)++;
ret= Xorriso_option_dev(xorriso, arg1, 3);
} else if(strcmp(cmd,"-devices")==0) {
} else if(strcmp(cmd,"devices")==0) {
ret= Xorriso_option_devices(xorriso, 0);
} else if(strcmp(cmd,"-dummy")==0) {
} else if(strcmp(cmd,"dummy")==0) {
(*idx)++;
ret= Xorriso_option_dummy(xorriso, arg1, 0);
} else if(strcmp(cmd,"-dialog")==0) {
} else if(strcmp(cmd,"dialog")==0) {
(*idx)++;
ret= Xorriso_option_dialog(xorriso, arg1, 0);
} else if(strcmp(cmd,"-disk_pattern")==0) {
} else if(strcmp(cmd,"disk_pattern")==0) {
(*idx)++;
ret= Xorriso_option_disk_pattern(xorriso, arg1, 0);
} else if(strcmp(cmd,"-du")==0 || strcmp(cmd,"-dui")==0 ||
strcmp(cmd,"-du_s")==0 || strcmp(cmd,"-du_si")==0) {
ret= Xorriso_option_lsi(xorriso, argc, argv, idx, (strlen(cmd)<5)|4);
} else if(strcmp(cmd,"du")==0 || strcmp(cmd,"dui")==0 ||
strcmp(cmd,"du_s")==0 || strcmp(cmd,"du_si")==0) {
ret= Xorriso_option_lsi(xorriso, argc, argv, idx, (strlen(cmd)<4)|4);
} else if(strcmp(cmd,"-dux")==0 || strcmp(cmd,"-du_sx")==0) {
ret= Xorriso_option_lsx(xorriso, argc, argv, idx, (strlen(cmd)<5)|4);
} else if(strcmp(cmd,"dux")==0 || strcmp(cmd,"du_sx")==0) {
ret= Xorriso_option_lsx(xorriso, argc, argv, idx, (strlen(cmd)<4)|4);
} else if(strcmp(cmd,"-eject")==0) {
} else if(strcmp(cmd,"eject")==0) {
(*idx)++;
ret= Xorriso_option_eject(xorriso, arg1, 0);
} else if(strcmp(cmd,"-end")==0) {
} else if(strcmp(cmd,"end")==0) {
Xorriso_option_end(xorriso, 0);
ret= Xorriso_eval_problem_status(xorriso, ret, 0);
if(ret<0)
return(ret);
{ret= 3; goto ex;}
} else if(strcmp(cmd,"-iso_rr_pattern")==0) {
} else if(strcmp(cmd,"iso_rr_pattern")==0) {
(*idx)++;
ret= Xorriso_option_iso_rr_pattern(xorriso, arg1, 0);
} else if(strcmp(cmd,"-f")==0) {
} else if(strcmp(cmd,"f")==0) {
ret= Xorriso_option_f(xorriso, 0);
} else if(strcmp(cmd,"-f-off")==0 || strcmp(cmd,"-f_off")==0) {
} else if(strcmp(cmd,"f-off")==0 || strcmp(cmd,"f_off")==0) {
ret= Xorriso_option_f(xorriso, 1);
} else if(strcmp(cmd,"-find")==0 || strcmp(cmd,"-findi")==0) {
} else if(strcmp(cmd,"find")==0 || strcmp(cmd,"findi")==0) {
(*idx)++;
ret= Xorriso_option_findi(xorriso, arg1, 0);
} else if(strcmp(cmd,"-findx")==0) {
} else if(strcmp(cmd,"findx")==0) {
(*idx)++;
ret= Xorriso_option_findx(xorriso, arg1, 0);
} else if(strcmp(cmd,"-format")==0) {
} else if(strcmp(cmd,"format")==0) {
(*idx)++;
ret= Xorriso_option_blank(xorriso, arg1, 1);
} else if(strcmp(cmd,"-fs")==0) {
} else if(strcmp(cmd,"fs")==0) {
(*idx)++;
ret= Xorriso_option_fs(xorriso, arg1, 0);
} else if(strcmp(cmd,"-gid")==0) {
} else if(strcmp(cmd,"gid")==0) {
(*idx)++;
ret= Xorriso_option_gid(xorriso,arg1,0);
} else if(strcmp(cmd,"-graft-points")==0 || strcmp(cmd,"-graft_points")==0) {
} else if(strcmp(cmd,"graft-points")==0 || strcmp(cmd,"graft_points")==0) {
ret= Xorriso_option_graft_points(xorriso, 0);
} else if(strcmp(cmd,"-graft-points-off")==0 ||
strcmp(cmd,"-graft_points_off")==0) {
} else if(strcmp(cmd,"graft-points-off")==0 ||
strcmp(cmd,"graft_points_off")==0) {
ret= Xorriso_option_graft_points(xorriso, 1);
} else if(strcmp(cmd,"-help")==0) {
} else if(strcmp(cmd,"help")==0) {
Xorriso_option_help(xorriso,0);
} else if(strcmp(cmd,"-history")==0) {
} else if(strcmp(cmd,"history")==0) {
/* add to readline history */
(*idx)++;
ret= Xorriso_option_history(xorriso, arg1, 0);
} else if(strcmp(cmd,"-indev")==0) {
} else if(strcmp(cmd,"indev")==0) {
(*idx)++;
ret= Xorriso_option_dev(xorriso, arg1, 1);
} else if(strcmp(cmd,"-J")==0) {
} else if(strcmp(cmd,"J")==0) {
ret= Xorriso_option_j_capital(xorriso, 0);
} 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)>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);i<argc;i++) {
cmd= argv[i];
was_dashed= 0;
if(cmd[0]=='-' && cmd[1]!='-' && cmd[1]!=0) {
was_dashed= 1;
cmd++;
}
arg1= "";
if(i+1<argc)
arg1= argv[i+1];
if(i>1)
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);

View File

@ -1 +1 @@
#define Xorriso_timestamP "2007.12.05.090438"
#define Xorriso_timestamP "2007.12.05.143632"