8 #include "../shared/shared.h"
10 void ProcessArguments(
int*
solution_type,
char** pbinfilename,
char** poutbinfilename,
char** ptoolkitsfilename,
char** plockfilename,
char** prestartfilename,
char** prootpath,
int argc,
char **argv){
13 if(argc<2)
_error_(
"Usage error: no solution requested");
14 if(argc<3)
_error_(
"Usage error: missing execution directory");
15 if(argc<4)
_error_(
"Usage error: missing model name");
19 char* rootpatharg = argv[2];
20 char* modelname = argv[3];
24 int rank_length = (my_rank == 0 ? 1 : (int)(log10(
static_cast<double>(my_rank))+1));
27 char* rootpath = xNew<char>(strlen(rootpatharg)+2); sprintf(rootpath,
"%s/",rootpatharg);
30 char* binfilename = xNew<char>(strlen(rootpath)+strlen(modelname)+strlen(
".bin") +1); sprintf(binfilename,
"%s%s%s",rootpath,modelname,
".bin");
31 char* outbinfilename = xNew<char>(strlen(rootpath)+strlen(modelname)+strlen(
".outbin") +1); sprintf(outbinfilename,
"%s%s%s",rootpath,modelname,
".outbin");
32 char* toolkitsfilename = xNew<char>(strlen(rootpath)+strlen(modelname)+strlen(
".toolkits") +1); sprintf(toolkitsfilename,
"%s%s%s",rootpath,modelname,
".toolkits");
33 char* lockfilename = xNew<char>(strlen(rootpath)+strlen(modelname)+strlen(
".lock") +1); sprintf(lockfilename,
"%s%s%s",rootpath,modelname,
".lock");
34 char* restartfilename = xNew<char>(strlen(rootpath)+strlen(modelname)+strlen(
".rst.")+rank_length+1);
35 sprintf(restartfilename,
"%s%s%s%i",rootpath,modelname,
".rst.",my_rank);
38 *pbinfilename=binfilename;
39 *poutbinfilename=outbinfilename;
40 *ptoolkitsfilename=toolkitsfilename;
41 *plockfilename=lockfilename;
42 *prestartfilename=restartfilename;