00001 #include "JobControl/IsArgMacroFile.h"
00002
00003 TString IsArgMacroFile(const char* arg)
00004 {
00005
00006
00007
00008
00009 int len = strlen(arg);
00010
00011
00012 if ( strcmp(arg+len-2,".C") == 0 ) return TString(arg);
00013 if ( strcmp(arg+len-2,".c") == 0 ) return TString(arg);
00014 if ( strcmp(arg+len-3,".cc") == 0 ) return TString(arg);
00015 if ( strcmp(arg+len-4,".cxx") == 0 ) return TString(arg);
00016
00017
00018 if ( strcmp(arg+len-3,".C+") == 0 ) return TString(arg,len-1);
00019 if ( strcmp(arg+len-4,".C++") == 0 ) return TString(arg,len-2);
00020
00021
00022 if ( strcmp(arg+len-1,")") == 0 ) {
00023 const char* argstart = strstr(arg,"(");
00024 len = argstart-arg;
00025
00026
00027 if ( strncmp(arg+len-2,".C",2) == 0 ) return TString(arg,len);
00028 if ( strncmp(arg+len-2,".c",2) == 0 ) return TString(arg,len);
00029 if ( strncmp(arg+len-3,".cc",3) == 0 ) return TString(arg,len);
00030 if ( strncmp(arg+len-4,".cxx",4) == 0 ) return TString(arg,len);
00031
00032
00033 if ( strncmp(arg+len-3,".C+",3) == 0 ) return TString(arg,len-1);
00034 if ( strncmp(arg+len-4,".C++",4) == 0 ) return TString(arg,len-2);
00035
00036 }
00037
00038
00039 return "";
00040 }