www.pudn.com > apdb2ndb.rar > atn_analyze_args.cc


#ifndef lint 
static char copyright[] = "Copyright (C) FUJITSU LIMITED 2001" ; 
static char id[] = "$Id: atn_analyze_args.cc,v 1.2 2001/06/12 15:51:44 JST rad1 Exp $" ; 
#endif 
/* 
 * $Log: atn_analyze_args.cc,v $ 
 * Revision 1.2  2001/06/12 15:51:44 JST  rad1 
 * 阪本(TSL) 
 * 
 * $Com: 阪本(TSL) 
 * $Com : オプション-bsの追加、\追加用フラグの初期設定  
 */ 
 
// 
// atn_analyze_args 
// Analyze args and set informations to com 
// 
#include "atn_inc.h" 
 
static void usage(void); 
 
static void set_debug_param(atn_com &,int , char **); 
 
inline char *next_arg(int argc,char **argv,int& i) 
{ 
  i++; 
  if(i>= argc) 
    { 
      usage(); 
      return NULL_PTR; 
    } 
  return argv[i]; 
} 
 
 
ATN_FDEF int atn_analyze_args(atn_com &com,int argc,char **argv) 
{ 
  int rcode =0; 
  int rc = 0; 
  char *prog_name = NULL_PTR; 
 
  char *tmp_ptr=NULL_PTR; 
 
 atn_global::com.add_back_slash = true; 
 
  tmp_ptr = strrchr(argv[0],'/'); 
  if(tmp_ptr != 0) 
    { 
      prog_name = strdup(tmp_ptr+1); 
    } 
  else 
    { 
      prog_name = strdup(argv[0]); 
    } 
  if(strcmp(prog_name,"a2n")==0 || strcmp(prog_name,"puri")==0) 
    { 
      set_debug_param(com,argc,argv); 
      return rcode; 
    } 
  if(prog_name) free(prog_name); 
     
  if(argc == 1) usage(); 
  for(int i=1;i