void parm_Initialize( Int iter) { /*======================================================*/ static Bool beenhere = FALSE; char filename[FILENAME_MAX]; if (beenhere) { if (BmassFlags.yearly) { sprintf(filename, "%s%0*d.out", Parm_name(F_BMassPre), Globals.bmass.suffixwidth, iter); if (Globals.bmass.fp_year != NULL) { LogError(logfp, LOGFATAL, "Programmer error: " "Globals.bmass.fp_year not null" " in parm_Initialize()"); } Globals.bmass.fp_year = OpenFile(filename, "w"); fprintf(Globals.bmass.fp_year, "%s\n", Globals.bmass.header_line); } if (MortFlags.yearly) { sprintf(filename, "%s%0*d.out", Parm_name(F_MortPre), Globals.mort.suffixwidth, iter); if (Globals.mort.fp_year != NULL) { LogError(logfp, LOGFATAL, "Programmer error: " "Globals.mort.fp_year not null" " in parm_Initialize()"); } Globals.mort.fp_year = OpenFile(filename, "w"); fprintf(Globals.mort.fp_year, "%s\n", Globals.mort.header_line); } } else { _globals_init(); _files_init(); _model_init(); _env_init(); _plot_init(); _bmassflags_init(); _mortflags_init(); _rgroup_init(); _species_init(); _check_species(); _bmasshdr_init(); _morthdr_create(); RandSeed(Globals.randseed); /* _recover_names(); */ beenhere = TRUE; } }
int main(int argc, char** argv) { int ch; const char * config_file = "config"; while((ch = getopt(argc, argv, "c:hr")) != -1) { switch(ch) { case 'c': config_file = optarg; break; case 'h': fprintf(stdin,"reload...\n"); //TODO break; case 'r': fprintf(stdin,"reload...\n"); //TODO exit(1); default: fprintf(stderr,"unknown opt %c\n", ch); exit(1); } } tiny_env_init(); struct lua_State *L = luaL_newstate(); luaL_openlibs(L); lua_close(L); L = luaL_newstate(); int err = luaL_dofile(L, config_file); if(err){ fprintf(stderr, "load config file[%s]failed:[%s]\n", config_file, lua_tostring(L, -1)); lua_close(L); exit(-1); } _env_init(L); config.daemonlized = _env_optint("daemon", 0); config.nthread = _env_optint("worker", 2); config.logpath = _env_optstring("logpath", "./"); config.port = _env_optint("port", 27017); config.addr = _env_optstring("addr", "127.0.0.1"); config.servicedir = _env_optstring("service", "service"); start(); exit(0); }