void SaveConfig(const char *cfgname) { char filename[MAX_PATH] = {0}, *filename_ext, *backupname_ext; size_t len; FILE *f; snprintf(filename, sizeof(filename) - 4, "%s", cfgname[0] ? cfgname : MAIN_CONFIG_FILENAME); // use config.cfg if no params was specified COM_ForceExtensionEx (filename, ".cfg", sizeof (filename)); if (cfg_backup.integer) { if (cfg_use_home.integer) // homedir filename_ext = va("%s/%s/%s", com_homedir, (strcmp(com_gamedirfile, "qw") == 0 || !cfg_use_gamedir.integer) ? "" : com_gamedirfile, filename); else // basedir filename_ext = va("%s/%s/configs/%s", com_basedir, (strcmp(com_gamedirfile, "qw") == 0 || !cfg_use_gamedir.integer) ? "ezquake" : com_gamedirfile, filename); if ((f = fopen(filename_ext, "r"))) { fclose(f); len = strlen(filename_ext) + 5; backupname_ext = (char *) Q_malloc(len); snprintf (backupname_ext, len, "%s.bak", filename_ext); if ((f = fopen(backupname_ext, "r"))) { fclose(f); remove(backupname_ext); } rename(filename_ext, backupname_ext); Q_free(backupname_ext); } } DumpConfig(filename); filesystemchanged = true; // fix bug 2359900 }
RobotConfig::RobotConfig() { std::printf("2135: RobotConfig -- LoadConfig Started --\n"); LoadConfig(); std::printf("2135: RobotConfig -- LoadConfig Finished --\n"); std::printf("2135: RobotConfig -- DumpConfig Started --\n"); DumpConfig(); std::printf("2135: RobotConfig -- DumpConfig Finished --\n"); }
void SaveConfig_f(void) { char filename[MAX_PATH] = {0}, *filename_ext, *backupname_ext; const char* arg1; size_t len; FILE *f; arg1 = COM_SkipPath(Cmd_Argv(1)); snprintf(filename, sizeof(filename) - 4, "%s", arg1[0] ? arg1 : "config.cfg"); // use config.cfg if no params was specified COM_ForceExtensionEx (filename, ".cfg", sizeof (filename)); if (cfg_backup.integer) { if (cfg_use_home.integer) // use home dir for cfg filename_ext = va("%s/%s", com_homedir, filename); else // use ezquake dir filename_ext = va("%s/ezquake/configs/%s", com_basedir, filename); if ((f = fopen(filename_ext, "r"))) { fclose(f); len = strlen(filename_ext) + 5; backupname_ext = (char *) Q_malloc(len); snprintf (backupname_ext, len, "%s.bak", filename_ext); if ((f = fopen(backupname_ext, "r"))) { fclose(f); remove(backupname_ext); } rename(filename_ext, backupname_ext); Q_free(backupname_ext); } } DumpConfig(filename); Com_Printf("Saving configuration to %s\n", filename); }
int TestPatternBase::Init(Json::Value config) { if (m_cycleMS != config["cycleMS"].asInt()) { m_cycleMS = config["cycleMS"].asInt(); m_nextCycleTime = GetTime() + (m_cycleMS * 1000); } if (m_channelSetStr != config["channelSet"].asString()) { m_channelSetStr = config["channelSet"].asString(); SetChannelSet(m_channelSetStr); m_configChanged = 1; } if (m_configChanged) SetupTest(); m_testEnabled = 1; DumpConfig(); return 1; }
int main(int argc, char** argv) { CCmdLineParser cmdline; ClientCmdLineArgs args; StunClientLogicConfig config; ClientSocketConfig socketconfig; bool fError = false; uint32_t loglevel = LL_ALWAYS; #ifdef DEBUG loglevel = LL_DEBUG; #endif Logging::SetLogLevel(loglevel); cmdline.AddNonOption(&args.strRemoteServer); cmdline.AddNonOption(&args.strRemotePort); cmdline.AddOption("localaddr", required_argument, &args.strLocalAddr); cmdline.AddOption("localport", required_argument, &args.strLocalPort); cmdline.AddOption("mode", required_argument, &args.strMode); cmdline.AddOption("family", required_argument, &args.strFamily); cmdline.AddOption("protocol", required_argument, &args.strProtocol); cmdline.AddOption("verbosity", required_argument, &args.strVerbosity); cmdline.AddOption("help", no_argument, &args.strHelp); if (argc <= 1) { PrintUsage(true); return -1; } cmdline.ParseCommandLine(argc, argv, 1, &fError); if (args.strHelp.length() > 0) { PrintUsage(false); return -2; } if (fError) { PrintUsage(true); return -3; } if (args.strVerbosity.length() > 0) { int level = atoi(args.strVerbosity.c_str()); if (level >= 0) { Logging::SetLogLevel(level); } } if (FAILED(CreateConfigFromCommandLine(args, &config, &socketconfig))) { Logging::LogMsg(LL_ALWAYS, "Can't start client"); PrintUsage(true); return -4; } DumpConfig(config, socketconfig); if (socketconfig.socktype == SOCK_STREAM) { TcpClientLoop(config, socketconfig); } else { UdpClientLoop(config, socketconfig); } return 0; }