⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkout.c

📁 This is code tutorial for image processing include:histogram,sketon....
💻 C
字号:
/*
   checkout.c
   The Revision Control System

   Dwayne Phillips
   November1991
*/


#include "rcs.h"


main(argc, argv)
   int argc;
   char *argv[];
{
   char   output_name[80], rcs_name[80], source_name[80],
          string[80];
   FILE   *output_file, *rcs_file, *source_file;
   int    extra_file = 0, rev = 0;

   if(argc <  2   ||   argc > 4){
      printf("\n\n\tusage: checkout [-r#] source-file"
             " [output-file]\n");
      exit(1);
   }

   if(argc == 2){
      strcpy(source_name, argv[1]);
      rev = 0;
   }

   if(argc == 3){
          /* checkout -r# source-name */
      if( (strncmp(argv[1], "-r", 2) == 0)){
         strcpy(string, argv[1]);
         strcpy(source_name, argv[2]);
         rev = rev_number(string);
      }

          /* checkout source-name output-name */
      if( (strncmp(argv[1], "-r", 2) != 0)){
         extra_file = 1;
         rev        = 0;
         strcpy(source_name, argv[1]);
         strcpy(output_name, argv[2]);
      }
   }  /* ends if argc == 3 */


      /* checkout -r# source-name output-name */
   if(argc == 4){
      if( (strncmp(argv[1], "-r", 2) != 0)){
         printf("\n\n\tusage: checkout [-r#] source-file"
                " [output-file]\n");
         exit(1);
      }
      else{
         extra_file = 1;
         rev        = rev_number(argv[1]);
         strcpy(source_name, argv[2]);
         strcpy(output_name, argv[3]);
      }
   }

   create_rcs_file_name(source_name, rcs_name);

   if((rcs_file = fopen(rcs_name, "r")) == '\0'){
      printf("\ncheckout>> "
             "cannot open the rcs file >>%s<<",
             rcs_name);
      exit(-1);
   }

   if(extra_file == 1){ /* open output_name for writing */
      if((output_file = fopen(output_name, "w")) == '\0'){
         printf("\ncheckout>> "
                "cannot open the output file >>%s<<",
                output_name);
         exit(-1);
      }
   }  /* ends if extra_file == 1 */

   else{ /* else open source_name for writing */
      if((source_file = fopen(source_name, "w")) == '\0'){
         printf("\ncheckout>> "
                "cannot open the source file >>%s<<",
                source_name);
         exit(-1);
      }
   }  /* ends else extra_file == 0 */

   if(extra_file == 1){  /* use output file */
      if(rev == 0)
         copy_latest_rcs_to_source(rcs_file, output_file);
      else{
         go_to_correct_rev(rcs_file, rev);
         copy_rcs_to_source(rcs_file, output_file);
      }
   }
   else{  /* else use source_file */
      if(rev == 0)
         copy_latest_rcs_to_source(rcs_file, source_file);
      else{
         go_to_correct_rev(rcs_file, rev);
         copy_rcs_to_source(rcs_file, source_file);
      }
   }

   fclose(rcs_file);
   if(extra_file == 1)
      fclose(output_file);
   else
      fclose(source_file);

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -