projects
/
h316.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
*** empty log message ***
[h316.git]
/
pc-tools
/
ldc2
/
src
/
config.cpp
diff --git
a/pc-tools/ldc2/src/config.cpp
b/pc-tools/ldc2/src/config.cpp
index a3f14ff8f386812a76e0cd533022a03577a2a331..1a10ac7722e6b860c4ac223ffe30aeee39da7a31 100644
(file)
--- a/
pc-tools/ldc2/src/config.cpp
+++ b/
pc-tools/ldc2/src/config.cpp
@@
-26,19
+26,21
@@
int cfg_output_info=0;
int cfg_output_called=0;
int cfg_output_exported=0;
int cfg_output_unsatisfied=0;
int cfg_output_called=0;
int cfg_output_exported=0;
int cfg_output_unsatisfied=0;
-int cfg_splitobjects=0;
-int cfg_splitobjects_numbered=0;
-int cfg_ignoreblock_errors=0;
-int cfg_ignorechecksum_errors=0;
+int cfg_split
_
objects=0;
+int cfg_split
_
objects_numbered=0;
+int cfg_ignore
_
block_errors=0;
+int cfg_ignore
_
checksum_errors=0;
int cfg_pause_on_checksum_error=0;
int cfg_ignore_unknown_block_errors=0;
int cfg_ignore_object_integrity_errors=0;
int cfg_list_contents=1;
int cfg_verbose=0;
int cfg_pause_on_checksum_error=0;
int cfg_ignore_unknown_block_errors=0;
int cfg_ignore_object_integrity_errors=0;
int cfg_list_contents=1;
int cfg_verbose=0;
+int cfg_quiet=0;
-int in_fd=0; //! File descriptor for data input
-int out_fd=1; //! File descriptor for text output
+int cfg_version=0;
+int in_fd=0; //! File descriptor for data input
+int out_fd=2; //! File descriptor for text output
void do_config(int argc, char ** args){
void do_config(int argc, char ** args){
@@
-68,19
+70,19
@@
void do_config(int argc, char ** args){
ar.add_option_switch("S","split_objects_numbered",
"Split input data into distinct numbered files",
ar.add_option_switch("S","split_objects_numbered",
"Split input data into distinct numbered files",
- &cfg_splitobjects_numbered,true,true);
+ &cfg_split
_
objects_numbered,true,true);
ar.add_option_switch("s","split_objects",
"Split input data into distinct object files.",
ar.add_option_switch("s","split_objects",
"Split input data into distinct object files.",
- &cfg_splitobjects,true,true);
+ &cfg_split
_
objects,true,true);
ar.add_option_switch("b","ignore_block_errors",
"Ignore block integrity errors. This will output broken blocks,too",
ar.add_option_switch("b","ignore_block_errors",
"Ignore block integrity errors. This will output broken blocks,too",
- &cfg_ignoreblock_errors,true,true);
+ &cfg_ignore
_
block_errors,true,true);
ar.add_option_switch("k","ignore_checksum_errors",
"Ignore block checksum errors. Errors will be converted to warnings.",
ar.add_option_switch("k","ignore_checksum_errors",
"Ignore block checksum errors. Errors will be converted to warnings.",
- &cfg_ignorechecksum_errors,true,true);
+ &cfg_ignore
_
checksum_errors,true,true);
ar.add_option_switch("p","pause_on_checksum_error",
"Wait for user input on checksum error.",
ar.add_option_switch("p","pause_on_checksum_error",
"Wait for user input on checksum error.",
@@
-96,8
+98,16
@@
Errors will be converted to warnings.",
&cfg_ignore_object_integrity_errors,true,true);
ar.add_option_switch("v","verbose",
&cfg_ignore_object_integrity_errors,true,true);
ar.add_option_switch("v","verbose",
- "Be a bit more verbose.",
+ "Be a bit more verbose.
This overrides -q.
",
&cfg_verbose,true,true);
&cfg_verbose,true,true);
+
+ ar.add_option_switch("q","quiet",
+ "Be quiet. All warning messages are suppressed.",
+ &cfg_quiet,true,true);
+
+ ar.add_option_switch("V","version",
+ "Output version information and exit.",
+ &cfg_version,false,true);
ar.add_option_value("i","in_file",
"specify input file",
ar.add_option_value("i","in_file",
"specify input file",
@@
-126,62
+136,72
@@
Errors will be converted to warnings.",
// If there's a config file mentioned in the environment, take it!
char * env_ldc_config=getenv("LDC_CONFIG");
if(env_ldc_config){
// If there's a config file mentioned in the environment, take it!
char * env_ldc_config=getenv("LDC_CONFIG");
if(env_ldc_config){
- fprintf(stderr,"Using config file: \"%s\"\n",env_ldc_config);
- if(dump_vector_
err(ar.read_file(env_ldc_config)
)){
- dump_vector_
err(ar.get_help()
);
+
if (cfg_verbose)
fprintf(stderr,"Using config file: \"%s\"\n",env_ldc_config);
+ if(dump_vector_
fp(ar.read_file(env_ldc_config),stderr
)){
+ dump_vector_
fp(ar.get_help(),stderr
);
exit(1);
}
}
// Process command line first time
exit(1);
}
}
// Process command line first time
- if(dump_vector_
err(ar.read_args(argc,args)
)){
- dump_vector_
err(ar.get_help()
);
+ if(dump_vector_
fp(ar.read_args(argc,args),stderr
)){
+ dump_vector_
fp(ar.get_help(),stderr
);
exit(7);
}
if (cfg_do_help) {
exit(7);
}
if (cfg_do_help) {
- dump_vector_
err(ar.get_help()
);
+ dump_vector_
fp(ar.get_help(),stderr
);
exit(0);
}
// If user has a config file, use it.
if (cfg_config_file_set){
exit(0);
}
// If user has a config file, use it.
if (cfg_config_file_set){
- fprintf(stderr,"Using config file: \"%s\"\n",cfg_config_file.c_str());
- if(dump_vector_err(ar.read_file(cfg_config_file))){
- dump_vector_err(ar.get_help());
+ if (cfg_verbose)
+ fprintf(stderr,"Using config file: \"%s\"\n",cfg_config_file.c_str());
+ if(dump_vector_fp(ar.read_file(cfg_config_file),stderr)){
+ dump_vector_fp(ar.get_help(),stderr);
exit(7);
}
// Process command line a second time to override values from config file.
exit(7);
}
// Process command line a second time to override values from config file.
- if(dump_vector_
err(ar.read_args(argc,args)
)||cfg_do_help){
- dump_vector_
err(ar.get_help()
);
+ if(dump_vector_
fp(ar.read_args(argc,args),stderr
)||cfg_do_help){
+ dump_vector_
fp(ar.get_help(),stderr
);
exit(7);
}
}
if (cfg_infile_set==1){
exit(7);
}
}
if (cfg_infile_set==1){
- fprintf(stderr,"Opening file for input: \"%s\"\n",cfg_infile.c_str());
+ if (cfg_verbose)
+ fprintf(stderr,"Opening file for input: \"%s\"\n",cfg_infile.c_str());
in_fd=open(cfg_infile.c_str(),O_RDONLY);
if (in_fd<0){
in_fd=open(cfg_infile.c_str(),O_RDONLY);
if (in_fd<0){
- fprintf(stderr,"Error: could not open file \"%s\" for reading!\n",cfg_infile.c_str());
+ fprintf(stderr,"Error: could not open file \"%s\" for reading!\n",
+ cfg_infile.c_str());
exit (1);
}
}
if (cfg_outfile_set==1){
exit (1);
}
}
if (cfg_outfile_set==1){
- fprintf(stderr,"Opening file for output: \"%s\"\n",cfg_outfile.c_str());
- out_fd=open(cfg_outfile.c_str(),O_WRONLY|O_TRUNC);
+ if (cfg_verbose)
+ fprintf(stderr,"Opening file for output: \"%s\"\n",cfg_outfile.c_str());
+ out_fd=open(cfg_outfile.c_str(),O_CREAT|O_WRONLY|O_TRUNC,0666);
if (out_fd<0){
if (out_fd<0){
- fprintf(stderr,"Error: could not open file \"%s\" for writing!\n",cfg_outfile.c_str());
+ fprintf(stderr,"Error: could not open file \"%s\" for writing!\n",
+ cfg_outfile.c_str());
exit (1);
}
}
exit (1);
}
}
+ // Verbose overrides quiet:
+ if (cfg_verbose)cfg_quiet=0;
+
// The configuration implications according to /cfg007/
if (in_fd==0) cfg_pause_on_checksum_error=0;
// The configuration implications according to /cfg007/
if (in_fd==0) cfg_pause_on_checksum_error=0;
- if (cfg_pause_on_checksum_error==1) cfg_ignorechecksum_errors=1;
+ if (cfg_pause_on_checksum_error==1) cfg_ignore
_
checksum_errors=1;
- if (cfg_output_info||cfg_output_called||cfg_output_exported||cfg_output_unsatisfied)
+ if (cfg_output_info||cfg_output_called||cfg_output_exported||
+ cfg_output_unsatisfied||
+ cfg_split_objects||cfg_split_objects_numbered)
cfg_list_contents=0;
}
cfg_list_contents=0;
}