*** empty log message ***
[h316.git] / pc-tools / ldc2 / src / config.cpp
index a3f14ff8f386812a76e0cd533022a03577a2a331..974fc91581d90f70b9036c1f5e74426f0ead1014 100644 (file)
@@ -28,13 +28,14 @@ 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_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_version=0;
 
 int in_fd=0;  //! File descriptor for data input 
 int out_fd=1; //! File descriptor for text output
@@ -76,11 +77,11 @@ void do_config(int argc, char ** args){
   
   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.",
-                      &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.",
@@ -98,6 +99,10 @@ Errors will be converted to warnings.",
   ar.add_option_switch("v","verbose",
                       "Be a bit more verbose.",
                       &cfg_verbose,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",
@@ -146,7 +151,8 @@ Errors will be converted to warnings.",
 
   // 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 (cfg_verbose) 
+      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());
       exit(7);
@@ -160,26 +166,30 @@ Errors will be converted to warnings.",
   }
 
   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){
-      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){
-    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){
-      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);
     }
   }
   
   // 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)
     cfg_list_contents=0;