From 9a2f3d3377b82b597f00d1d8fb8ee58d141cfb95 Mon Sep 17 00:00:00 2001 From: "FWoltermann@gmail.com" Date: Fri, 9 Dec 2011 21:12:14 +0000 Subject: More string safety stuff --- Stars45/AudioConfig.cpp | 6 +- Stars45/Authorization.cpp | 5 +- Stars45/Campaign.cpp | 33 ++++--- Stars45/CampaignMissionFighter.cpp | 32 ++++--- Stars45/CampaignMissionStarship.cpp | 24 +++-- Stars45/CampaignPlanEvent.cpp | 107 +++++++--------------- Stars45/CampaignSaveGame.cpp | 10 ++- Stars45/CmdDlg.cpp | 6 +- Stars45/CmdForceDlg.cpp | 65 +++++++------- Stars45/CmpCompleteDlg.cpp | 4 +- Stars45/CmpFileDlg.cpp | 10 +-- Stars45/CmpSelectDlg.cpp | 8 +- Stars45/CmpnScreen.cpp | 6 +- Stars45/CombatAction.cpp | 102 ++++++++++----------- Stars45/CombatAssignment.cpp | 14 +-- Stars45/CombatEvent.cpp | 4 +- Stars45/CombatGroup.cpp | 174 ++++++++++++++++++------------------ Stars45/CombatUnit.cpp | 12 +-- Stars45/Contact.cpp | 6 +- Stars45/DebriefDlg.cpp | 20 ++--- Stars45/Drone.cpp | 2 +- Stars45/Element.cpp | 2 +- Stars45/EngDlg.cpp | 2 +- Stars45/Explosion.cpp | 10 +-- Stars45/FirstTimeDlg.cpp | 2 +- Stars45/FltDlg.cpp | 16 ++-- Stars45/Galaxy.cpp | 2 +- Stars45/GroundAI.cpp | 2 +- Stars45/HUDView.cpp | 68 +++++++------- Stars45/Hangar.cpp | 10 +-- Stars45/Instruction.cpp | 72 +++++++-------- Stars45/Intel.cpp | 2 +- Stars45/KeyMap.cpp | 27 +++--- Stars45/MapView.cpp | 44 ++++----- Stars45/Mfd.cpp | 42 ++++----- Stars45/Mission.cpp | 135 ++++++++++++++-------------- Stars45/MissionEvent.cpp | 10 +-- Stars45/MissionTemplate.cpp | 4 +- Stars45/ModConfig.cpp | 8 +- Stars45/ModInfo.cpp | 2 +- Stars45/MsnEditDlg.cpp | 14 +-- Stars45/MsnElemDlg.cpp | 48 +++++----- Stars45/MsnEventDlg.cpp | 34 +++---- Stars45/MsnObjDlg.cpp | 4 +- Stars45/MsnPkgDlg.cpp | 18 ++-- Stars45/MsnSelectDlg.cpp | 2 +- Stars45/MsnWepDlg.cpp | 14 +-- Stars45/NPClientWraps.cpp | 4 +- Stars45/NavDlg.cpp | 40 ++++----- Stars45/NetAddrDlg.cpp | 8 +- Stars45/NetAdminServer.cpp | 8 +- Stars45/NetAuth.cpp | 7 +- Stars45/NetBrokerClient.cpp | 4 +- Stars45/NetClientConfig.cpp | 12 +-- Stars45/NetClientDlg.cpp | 4 +- Stars45/NetFileServlet.cpp | 7 +- Stars45/NetGameClient.cpp | 16 ++-- Stars45/NetLobby.cpp | 6 +- Stars45/NetLobbyClient.cpp | 39 ++++---- Stars45/NetLobbyServer.cpp | 72 +++++++-------- Stars45/NetPassDlg.cpp | 2 +- Stars45/NetServerConfig.cpp | 16 ++-- Stars45/NetServerDlg.cpp | 8 +- Stars45/NetUnitDlg.cpp | 8 +- Stars45/NetUser.cpp | 2 +- Stars45/NetUser.h | 2 +- Stars45/Player.cpp | 26 +++--- Stars45/PlayerDlg.cpp | 10 +-- Stars45/QuantumFlash.cpp | 2 +- Stars45/QuantumView.cpp | 4 +- Stars45/RadioHandler.cpp | 6 +- Stars45/RadioTraffic.cpp | 60 ++++++------- Stars45/RadioView.cpp | 8 +- Stars45/RadioVox.cpp | 4 +- Stars45/SeekerAI.cpp | 2 +- Stars45/Ship.cpp | 8 +- Stars45/Ship.h | 2 +- Stars45/ShipAI.cpp | 2 +- Stars45/ShipDesign.cpp | 48 +++++----- Stars45/Shot.cpp | 2 +- Stars45/Sim.cpp | 16 ++-- Stars45/SimObject.cpp | 2 +- Stars45/Sky.cpp | 10 +-- Stars45/StarServer.cpp | 10 +-- Stars45/StarSystem.cpp | 18 ++-- Stars45/SteerAI.cpp | 2 +- Stars45/TacRefDlg.cpp | 18 ++-- Stars45/TacticalView.cpp | 36 ++++---- Stars45/TerrainApron.cpp | 2 +- Stars45/TerrainClouds.cpp | 4 +- Stars45/TerrainPatch.cpp | 2 +- Stars45/VidDlg.cpp | 28 +++--- Stars45/Weapon.cpp | 2 +- Stars45/WeaponDesign.cpp | 6 +- 94 files changed, 913 insertions(+), 936 deletions(-) diff --git a/Stars45/AudioConfig.cpp b/Stars45/AudioConfig.cpp index 7a7565a..d833533 100644 --- a/Stars45/AudioConfig.cpp +++ b/Stars45/AudioConfig.cpp @@ -233,7 +233,8 @@ AudioConfig::Load() int blocklen = 0; const char* filename = "audio.cfg"; - FILE* f = ::fopen(filename, "rb"); + FILE* f; + ::fopen_s(&f, filename, "rb"); if (f) { ::fseek(f, 0, SEEK_END); @@ -363,7 +364,8 @@ AudioConfig::Load() void AudioConfig::Save() { - FILE* f = fopen("audio.cfg", "w"); + FILE* f; + fopen_s(&f, "audio.cfg", "w"); if (f) { fprintf(f, "AUDIO\n\n"); fprintf(f, "menu_music: %3d\n", menu_music); diff --git a/Stars45/Authorization.cpp b/Stars45/Authorization.cpp index a6c5084..ca9b864 100644 --- a/Stars45/Authorization.cpp +++ b/Stars45/Authorization.cpp @@ -62,7 +62,8 @@ static Text GetCDKeyFromIniFile() ZeroMemory(cdbuf, sizeof(cdbuf)); - FILE* f = fopen("maga.mg", "r"); + FILE* f; + fopen_s(&f, "maga.mg", "r"); if (f) { bool found_section = false; @@ -162,7 +163,7 @@ int execRegistrationProgram() { int result = 999; char cmdline[256]; - strcpy(cmdline, "SS2rez"); + strcpy_s(cmdline, "SS2rez"); STARTUPINFO s; ZeroMemory(&s, sizeof(s)); diff --git a/Stars45/Campaign.cpp b/Stars45/Campaign.cpp index b0fff08..fb7fdbe 100644 --- a/Stars45/Campaign.cpp +++ b/Stars45/Campaign.cpp @@ -156,14 +156,14 @@ Campaign::Initialize() for (int i = 1; i < 100; i++) { char path[256]; - sprintf(path, "Campaigns/%02d/", i); + sprintf_s(path, "Campaigns/%02d/", i); loader->UseFileSystem(true); loader->SetDataPath(path); if (loader->FindFile("campaign.def")) { char txt[256]; - sprintf(txt, "Dynamic Campaign %02d", i); + sprintf_s(txt, "Dynamic Campaign %02d", i); c = new(__FILE__,__LINE__) Campaign(i, txt); if (c) { @@ -210,7 +210,7 @@ Campaign::SelectCampaign(const char* name) ListIter iter = campaigns; while (++iter && !c) { - if (!stricmp(iter->Name(), name)) + if (!_stricmp(iter->Name(), name)) c = iter.value(); } @@ -332,11 +332,10 @@ Campaign::Load() if (!path[0]) { // then load the campaign from files: switch (campaign_id) { - case SINGLE_MISSIONS: strcpy(path, "Missions/"); break; - case CUSTOM_MISSIONS: strcpy(path, "Mods/Missions/"); break; - case MULTIPLAYER_MISSIONS: strcpy(path, "Multiplayer/"); break; - default: sprintf(path, "Campaigns/%02d/", - campaign_id); break; + case SINGLE_MISSIONS: strcpy_s(path, "Missions/"); break; + case CUSTOM_MISSIONS: strcpy_s(path, "Mods/Missions/"); break; + case MULTIPLAYER_MISSIONS: strcpy_s(path, "Multiplayer/"); break; + default: sprintf_s(path, "Campaigns/%02d/", campaign_id); break; } } @@ -1011,10 +1010,10 @@ Campaign::LoadMissionList(DataLoader* loader) int start = 0; int type = 0; - ZeroMemory(script, sizeof(script)); + ZeroMemory(script, sizeof(script)); - strcpy(system, "Unknown"); - strcpy(region, "Unknown"); + strcpy_s(system, "Unknown"); + strcpy_s(region, "Unknown"); for (int i = 0; i < val->elements()->size(); i++) { TermDef* pdef = val->elements()->at(i)->isDef(); @@ -1173,7 +1172,7 @@ Campaign::LoadCustomMissions(DataLoader* loader) loader->ReleaseBuffer(block); if (strstr(filename, "custom") == filename) { - sscanf(filename+6, "%d", &msn_id); + sscanf_s(filename+6, "%d", &msn_id); if (msn_id <= i) msn_id = i+1; @@ -1540,7 +1539,7 @@ Campaign::GetMission(int id) if (IsDynamic()) { if (info->mission) { - if (!stricmp(info->mission->Situation(), "Unknown")) { + if (!_stricmp(info->mission->Situation(), "Unknown")) { ::Print("Campaign::GetMission(%d) generating sitrep...\n", id); CampaignSituationReport sitrep(this, info->mission); sitrep.GenerateSituationReport(); @@ -1591,7 +1590,7 @@ Campaign::GetMissionByFile(const char* filename) if (IsDynamic()) { if (info->mission) { - if (!stricmp(info->mission->Situation(), "Unknown")) { + if (!_stricmp(info->mission->Situation(), "Unknown")) { ::Print("Campaign::GetMission(%d) generating sitrep...\n", id); CampaignSituationReport sitrep(this, info->mission); sitrep.GenerateSituationReport(); @@ -1639,7 +1638,7 @@ Campaign::CreateNewMission() } char filename[64]; - sprintf(filename, "custom%03d.def", maxid+1); + sprintf_s(filename, "custom%03d.def", maxid+1); info = new(__FILE__,__LINE__) MissionInfo; if (info) { @@ -1679,9 +1678,9 @@ Campaign::DeleteMission(int id) char full_path[256]; if (path[strlen(path)-1] == '/') - sprintf(full_path, "%s%s", path, m->script); + sprintf_s(full_path, "%s%s", path, m->script); else - sprintf(full_path, "%s/%s", path, m->script); + sprintf_s(full_path, "%s/%s", path, m->script); DeleteFile(full_path); Load(); diff --git a/Stars45/CampaignMissionFighter.cpp b/Stars45/CampaignMissionFighter.cpp index 4685ffb..41055e5 100644 --- a/Stars45/CampaignMissionFighter.cpp +++ b/Stars45/CampaignMissionFighter.cpp @@ -152,8 +152,9 @@ CampaignMissionFighter::CreateMission(CampaignMissionRequest* req) Text script = mission->Serialize(); char fname[32]; - sprintf(fname, "msn%03d.def", info->id); - FILE* f = fopen(fname, "w"); + sprintf_s(fname, "msn%03d.def", info->id); + FILE* f; + fopen_s(&f, fname, "w"); if (f) { fprintf(f, "%s\n", script.data()); fclose(f); @@ -205,7 +206,7 @@ CampaignMissionFighter::GenerateMission(int id) } char name[64]; - sprintf(name, "Fighter Mission %d", id); + sprintf_s(name, "Fighter Mission %d", id); mission->SetName(name); mission->SetTeam(squadron->GetIFF()); @@ -2101,25 +2102,22 @@ CampaignMissionFighter::DescribeMission() char player_info[256]; if (mission_info && mission_info->name.length()) - sprintf(name, "MSN-%03d %s", mission->Identity(), mission_info->name.data()); - + sprintf_s(name, "MSN-%03d %s", mission->Identity(), mission_info->name.data()); else if (ward) - sprintf(name, "MSN-%03d %s %s", mission->Identity(), Game::GetText(mission->TypeName()).data(), ward->Name().data()); - + sprintf_s(name, "MSN-%03d %s %s", mission->Identity(), Game::GetText(mission->TypeName()).data(), ward->Name().data()); else if (prime_target) - sprintf(name, "MSN-%03d %s %s %s", mission->Identity(), Game::GetText(mission->TypeName()).data(), - Ship::ClassName(prime_target->GetDesign()->type), - prime_target->Name().data()); - + sprintf_s(name, "MSN-%03d %s %s %s", mission->Identity(), Game::GetText(mission->TypeName()).data(), + Ship::ClassName(prime_target->GetDesign()->type), + prime_target->Name().data()); else - sprintf(name, "MSN-%03d %s", mission->Identity(), Game::GetText(mission->TypeName()).data()); + sprintf_s(name, "MSN-%03d %s", mission->Identity(), Game::GetText(mission->TypeName()).data()); if (player_elem) { - sprintf(player_info, "%d x %s %s '%s'", - player_elem->Count(), - (const char*) player_elem->GetDesign()->abrv, - (const char*) player_elem->GetDesign()->name, - (const char*) player_elem->Name()); + sprintf_s(player_info, "%d x %s %s '%s'", + player_elem->Count(), + (const char*) player_elem->GetDesign()->abrv, + (const char*) player_elem->GetDesign()->name, + (const char*) player_elem->Name()); } MissionInfo* info = new(__FILE__,__LINE__) MissionInfo; diff --git a/Stars45/CampaignMissionStarship.cpp b/Stars45/CampaignMissionStarship.cpp index f26c7ad..45eda11 100644 --- a/Stars45/CampaignMissionStarship.cpp +++ b/Stars45/CampaignMissionStarship.cpp @@ -114,8 +114,9 @@ CampaignMissionStarship::CreateMission(CampaignMissionRequest* req) Text script = mission->Serialize(); char fname[32]; - sprintf(fname, "msn%03d.def", info->id); - FILE* f = fopen(fname, "w"); + sprintf_s(fname, "msn%03d.def", info->id); + FILE* f; + fopen_s(&f, fname, "w"); if (f) { fprintf(f, "%s\n", script.data()); fclose(f); @@ -169,7 +170,7 @@ CampaignMissionStarship::GenerateMission(int id) } char name[64]; - sprintf(name, "Starship Mission %d", id); + sprintf_s(name, "Starship Mission %d", id); mission->SetName(name); mission->SetTeam(player_group->GetIFF()); @@ -1356,21 +1357,18 @@ CampaignMissionStarship::DescribeMission() char player_info[256]; if (mission_info && mission_info->name.length()) - sprintf(name, "MSN-%03d %s", mission->Identity(), mission_info->name.data()); - + sprintf_s(name, "MSN-%03d %s", mission->Identity(), mission_info->name.data()); else if (ward) - sprintf(name, "MSN-%03d %s %s", mission->Identity(), Game::GetText(mission->TypeName()).data(), ward->Name().data()); - + sprintf_s(name, "MSN-%03d %s %s", mission->Identity(), Game::GetText(mission->TypeName()).data(), ward->Name().data()); else if (prime_target) - sprintf(name, "MSN-%03d %s %s %s", mission->Identity(), Game::GetText(mission->TypeName()).data(), - Ship::ClassName(prime_target->GetDesign()->type), - prime_target->Name().data()); - + sprintf_s(name, "MSN-%03d %s %s %s", mission->Identity(), Game::GetText(mission->TypeName()).data(), + Ship::ClassName(prime_target->GetDesign()->type), + prime_target->Name().data()); else - sprintf(name, "MSN-%03d %s", mission->Identity(), Game::GetText(mission->TypeName()).data()); + sprintf_s(name, "MSN-%03d %s", mission->Identity(), Game::GetText(mission->TypeName()).data()); if (player) { - strcpy(player_info, player->GetCombatGroup()->GetDescription()); + strcpy_s(player_info, player->GetCombatGroup()->GetDescription()); } MissionInfo* info = new(__FILE__,__LINE__) MissionInfo; diff --git a/Stars45/CampaignPlanEvent.cpp b/Stars45/CampaignPlanEvent.cpp index 10224c0..5878026 100644 --- a/Stars45/CampaignPlanEvent.cpp +++ b/Stars45/CampaignPlanEvent.cpp @@ -206,8 +206,7 @@ CampaignPlanEvent::ExecScriptedEvents() found = true; // don't announce the move unless it's for the player's team: - if (action->GetIFF() == campaign->GetPlayerIFF() && - stricmp(action->GetText(), "do-not-display")) { + if (action->GetIFF() == campaign->GetPlayerIFF() && _stricmp(action->GetText(), "do-not-display")) { CombatEvent* event = new(__FILE__,__LINE__) CombatEvent(campaign, CombatEvent::MOVE_TO, @@ -217,7 +216,7 @@ CampaignPlanEvent::ExecScriptedEvents() action->Region()); if (!event) - return false; + return false; Text title = Text(g->Name()) + " Orders: Proceed to " + action->Region() + " Sector"; event->SetTitle(title); @@ -292,8 +291,7 @@ CampaignPlanEvent::ExecScriptedEvents() found = true; // don't announce the move unless it's for the player's team: - if (action->GetIFF() == campaign->GetPlayerIFF() && - stricmp(action->GetText(), "do-not-display")) { + if (action->GetIFF() == campaign->GetPlayerIFF() && _stricmp(action->GetText(), "do-not-display")) { CombatEvent* event = new(__FILE__,__LINE__) CombatEvent(campaign, CombatEvent::MOVE_TO, @@ -303,7 +301,7 @@ CampaignPlanEvent::ExecScriptedEvents() action->Region()); if (!event) - return false; + return false; Text title = Text(g->Name()) + " Orders: Proceed to " + action->System() + " System"; event->SetTitle(title); @@ -778,31 +776,23 @@ CampaignPlanEvent::CreateEventFighterAssault(CombatAssignment* a) if (them_count) { if (friendly) { if (them_count > 1) - sprintf(text, "ENEMY KILLED:\t %d %s destroyed\n", - them_count, tgt->Name().data()); + sprintf_s(text, "ENEMY KILLED:\t %d %s destroyed\n", them_count, tgt->Name().data()); else - sprintf(text, "ENEMY KILLED:\t %s destroyed\n", - tgt->Name().data()); - } - else { - sprintf(text, "ENEMY KILLED:\t %d %s destroyed\n", - them_count, them->Name().data()); + sprintf_s(text, "ENEMY KILLED:\t %s destroyed\n", tgt->Name().data()); + } else { + sprintf_s(text, "ENEMY KILLED:\t %d %s destroyed\n", them_count, them->Name().data()); } info += text; - } - else { + } else { info += "ENEMY KILLED:\t 0\n"; } if (us_count) { if (!friendly) - sprintf(text, "ALLIED LOSSES:\t %s destroyed\n", - tgt->Name().data()); + sprintf_s(text, "ALLIED LOSSES:\t %s destroyed\n", tgt->Name().data()); else - sprintf(text, "ALLIED LOSSES:\t %d %s destroyed", - us_count, - us->Name().data()); + sprintf_s(text, "ALLIED LOSSES:\t %d %s destroyed", us_count, us->Name().data()); info += text; } @@ -928,36 +918,26 @@ CampaignPlanEvent::CreateEventFighterStrike(CombatAssignment* a) if (them_count) { if (friendly) { if (them_count > 1) - sprintf(text, "ENEMY KILLED:\t %d %s destroyed\n", - them_count, tgt->Name().data()); + sprintf_s(text, "ENEMY KILLED:\t %d %s destroyed\n", them_count, tgt->Name().data()); else - sprintf(text, "ENEMY KILLED:\t %s destroyed\n", - tgt->Name().data()); - } - else { - sprintf(text, "ENEMY KILLED:\t %d %s destroyed\n", - them_count, - them->Name().data()); + sprintf_s(text, "ENEMY KILLED:\t %s destroyed\n", tgt->Name().data()); + } else { + sprintf_s(text, "ENEMY KILLED:\t %d %s destroyed\n", them_count, them->Name().data()); } info += text; - } - else { + } else { info += "ENEMY KILLED:\t 0\n"; } if (us_count) { if (!friendly) - sprintf(text, "ALLIED LOSSES:\t %s destroyed\n", - tgt->Name().data()); + sprintf_s(text, "ALLIED LOSSES:\t %s destroyed\n", tgt->Name().data()); else - sprintf(text, "ALLIED LOSSES:\t %d %s destroyed", - us_count, - us->Name().data()); + sprintf_s(text, "ALLIED LOSSES:\t %d %s destroyed", us_count, us->Name().data()); info += text; - } - else { + } else { info += "ALLIED LOSSES:\t 0"; } @@ -1093,23 +1073,17 @@ CampaignPlanEvent::CreateEventFighterSweep(CombatAssignment* a) char text[256]; if (them_count) { - sprintf(text, "ENEMY KILLED:\t %d %s destroyed\n", - them_count, - them->Name().data()); + sprintf_s(text, "ENEMY KILLED:\t %d %s destroyed\n", them_count, them->Name().data()); info += text; - } - else { + } else { info += "ENEMY KILLED:\t 0\n"; } if (us_count) { - sprintf(text, "ALLIED LOSSES:\t %d %s destroyed", - us_count, - us->Name().data()); + sprintf_s(text, "ALLIED LOSSES:\t %d %s destroyed", us_count, us->Name().data()); info += text; - } - else { + } else { info += "ALLIED LOSSES:\t 0"; } @@ -1221,44 +1195,31 @@ CampaignPlanEvent::CreateEventStarship(CombatAssignment* a) if (them_count) { if (friendly) { if (tgt->Count() > 1) { - sprintf(text, "ENEMY KILLED:\t %d %s destroyed\n", - them_count, - tgt->Name().data()); + sprintf_s(text, "ENEMY KILLED:\t %d %s destroyed\n", them_count, tgt->Name().data()); + } else { + sprintf_s(text, "ENEMY KILLED:\t %s destroyed\n", tgt->Name().data()); } - else { - sprintf(text, "ENEMY KILLED:\t %s destroyed\n", - tgt->Name().data()); - } - } - else { + } else { if (unit->Count() > 1) { - sprintf(text, "ENEMY KILLED:\t %d %s destroyed\n", - them_count, - unit->Name().data()); - } - else { - sprintf(text, "ENEMY KILLED:\t %s destroyed\n", - unit->Name().data()); + sprintf_s(text, "ENEMY KILLED:\t %d %s destroyed\n", them_count, unit->Name().data()); + } else { + sprintf_s(text, "ENEMY KILLED:\t %s destroyed\n", unit->Name().data()); } } info += text; - } - else { + } else { info += "ENEMY KILLED:\t 0\n"; } if (us_count) { if (!friendly) - sprintf(text, "ALLIED LOSSES:\t %s destroyed\n", - tgt->Name().data()); + sprintf_s(text, "ALLIED LOSSES:\t %s destroyed\n", tgt->Name().data()); else - sprintf(text, "ALLIED LOSSES:\t %s destroyed", - unit->Name().data()); + sprintf_s(text, "ALLIED LOSSES:\t %s destroyed", unit->Name().data()); info += text; - } - else { + } else { info += "ALLIED LOSSES:\t 0"; } diff --git a/Stars45/CampaignSaveGame.cpp b/Stars45/CampaignSaveGame.cpp index 6ad81a2..8320259 100644 --- a/Stars45/CampaignSaveGame.cpp +++ b/Stars45/CampaignSaveGame.cpp @@ -58,7 +58,7 @@ CampaignSaveGame::GetSaveDirectory(Player* player) { if (player) { char save_dir[32]; - sprintf(save_dir, "%s/%02d", SAVE_DIR, player->Identity()); + sprintf_s(save_dir, "%s/%02d", SAVE_DIR, player->Identity()); return save_dir; } @@ -563,7 +563,9 @@ CampaignSaveGame::Save(const char* name) Text s = GetSaveDirectory() + Text("/") + Text(name); - FILE* f = fopen(s, "w"); + FILE* f; + fopen_s(&f, s, "w"); + if (f) { char timestr[32]; FormatDayTime(timestr, campaign->GetTime()); @@ -704,7 +706,9 @@ Text CampaignSaveGame::GetResumeFile() { // check for auto save game: - FILE* f = ::fopen(GetSaveDirectory() + "/AutoSave", "r"); + FILE* f; + ::fopen_s(&f, GetSaveDirectory() + "/AutoSave", "r"); + if (f) { ::fclose(f); diff --git a/Stars45/CmdDlg.cpp b/Stars45/CmdDlg.cpp index 1fbe445..3dcff0c 100644 --- a/Stars45/CmdDlg.cpp +++ b/Stars45/CmdDlg.cpp @@ -102,9 +102,7 @@ CmdDlg::ExecFrame() if (txt_score) { char score[32]; - sprintf(score, "Team Score: %d", campaign->GetPlayerTeamScore()); - txt_score->SetText(score); - txt_score->SetTextAlign(DT_RIGHT); + sprintf_s(score, "Team Score: %d", campaign->GetPlayerTeamScore()); txt_score->SetText(score); txt_score->SetTextAlign(DT_RIGHT); } if (txt_time) { @@ -119,7 +117,7 @@ CmdDlg::ExecFrame() if (btn_mode[MODE_INTEL]) { if (unread > 0) { char text[64]; - sprintf(text, "INTEL (%d)", unread); + sprintf_s(text, "INTEL (%d)", unread); btn_mode[MODE_INTEL]->SetText(text); } else { diff --git a/Stars45/CmdForceDlg.cpp b/Stars45/CmdForceDlg.cpp index 7593e46..0c73d41 100644 --- a/Stars45/CmdForceDlg.cpp +++ b/Stars45/CmdForceDlg.cpp @@ -265,11 +265,9 @@ CmdForceDlg::AddCombatGroup(CombatGroup* grp, bool last_child) int damage = (int) (100 * unit->GetSustainedDamage() / unit->GetDesign()->integrity); if (damage < 1 || unit->DeadCount() >= unit->Count()) { - sprintf(info, "%s%s%s", pipe_stack, prefix, unit->GetDescription()); - } - else { - sprintf(info, "%s%s%s %d%% damage", pipe_stack, prefix, unit->GetDescription(), - damage); + sprintf_s(info, "%s%s%s", pipe_stack, prefix, unit->GetDescription()); + } else { + sprintf_s(info, "%s%s%s %d%% damage", pipe_stack, prefix, unit->GetDescription(), damage); } int index = lst_combat->AddItemWithData(info, (DWORD) unit); @@ -340,10 +338,10 @@ WepGroup* FindWepGroup(WepGroup* weapons, const char* name) while (!group && w < 8) { if (first < 0 && iter->name.length() == 0) - first = w; + first = w; - if (!stricmp(iter->name, name)) - group = iter; + if (!_stricmp(iter->name, name)) + group = iter; iter++; w++; @@ -439,18 +437,18 @@ CmdForceDlg::OnCombat(AWEvent* event) n = lst_desc->AddItem("Sorties:") - 1; if (grp->Sorties() >= 0) - sprintf(txt, "%d", grp->Sorties()); + sprintf_s(txt, "%d", grp->Sorties()); else - strcpy(txt, "Unavail"); + strcpy_s(txt, "Unavail"); lst_desc->SetItemText(n, 1, txt); n = lst_desc->AddItem("Kills:") - 1; if (grp->Kills() >= 0) - sprintf(txt, "%d", grp->Kills()); + sprintf_s(txt, "%d", grp->Kills()); else - strcpy(txt, "Unavail"); + strcpy_s(txt, "Unavail"); lst_desc->SetItemText(n, 1, txt); @@ -458,12 +456,11 @@ CmdForceDlg::OnCombat(AWEvent* event) if (grp->Points() >= 0) { if (grp->Sorties() > 0) - sprintf(txt, "%.1f", (double) grp->Points() / grp->Sorties()); + sprintf_s(txt, "%.1f", (double) grp->Points() / grp->Sorties()); else - sprintf(txt, "%.1f", (double) grp->Points()); - } - else { - strcpy(txt, "Unavail"); + sprintf_s(txt, "%.1f", (double) grp->Points()); + } else { + strcpy_s(txt, "Unavail"); } lst_desc->SetItemText(n, 1, txt); @@ -510,13 +507,13 @@ CmdForceDlg::OnCombat(AWEvent* event) else FormatNumber(txt, design->radius*2); - strcat(txt, " m"); + strcat_s(txt, " m"); n = lst_desc->AddItem("Length:") - 1; lst_desc->SetItemText(n, 1, txt); FormatNumber(txt, design->mass); - strcat(txt, " T"); + strcat_s(txt, " T"); n = lst_desc->AddItem("Mass:") - 1; lst_desc->SetItemText(n, 1, txt); @@ -541,9 +538,9 @@ CmdForceDlg::OnCombat(AWEvent* event) for (int g = 0; g < 8; g++) { WepGroup* group = &groups[g]; if (group && group->count) { - sprintf(txt, "%s (%d)", group->name.data(), group->count); + sprintf_s(txt, "%s (%d)", group->name.data(), group->count); if (g > 0) n = lst_desc->AddItem(" ") - 1; - lst_desc->SetItemText(n, 1, txt); + lst_desc->SetItemText(n, 1, txt); } } } @@ -674,18 +671,18 @@ CmdForceDlg::OnTransfer(AWEvent* event) if (current_unit) { campaign->SetPlayerUnit(current_unit); - sprintf(transfer_info, "Your transfer request has been approved, %s %s. You are now assigned to the %s. Good luck.\n\nFleet Admiral A. Evars FORCOM\nCommanding", - Player::RankName(player->Rank()), - player->Name().data(), - current_unit->GetDescription()); + sprintf_s(transfer_info, "Your transfer request has been approved, %s %s. You are now assigned to the %s. Good luck.\n\nFleet Admiral A. Evars FORCOM\nCommanding", + Player::RankName(player->Rank()), + player->Name().data(), + current_unit->GetDescription()); } else { campaign->SetPlayerGroup(current_group); - sprintf(transfer_info, "Your transfer request has been approved, %s %s. You are now assigned to the %s. Good luck.\n\nFleet Admiral A. Evars FORCOM\nCommanding", - Player::RankName(player->Rank()), - player->Name().data(), - current_group->GetDescription()); + sprintf_s(transfer_info, "Your transfer request has been approved, %s %s. You are now assigned to the %s. Good luck.\n\nFleet Admiral A. Evars FORCOM\nCommanding", + Player::RankName(player->Rank()), + player->Name().data(), + current_group->GetDescription()); } Button::PlaySound(Button::SND_ACCEPT); @@ -701,11 +698,11 @@ CmdForceDlg::OnTransfer(AWEvent* event) else { Button::PlaySound(Button::SND_REJECT); - sprintf(transfer_info, "Your transfer request has been denied, %s %s. The %s requires a command rank of %s. Please return to your unit and your duties.\n\nFleet Admiral A. Evars FORCOM\nCommanding", - Player::RankName(player->Rank()), - player->Name().data(), - current_group->GetDescription(), - Player::RankName(Player::CommandRankRequired(cmd_class))); + sprintf_s(transfer_info, "Your transfer request has been denied, %s %s. The %s requires a command rank of %s. Please return to your unit and your duties.\n\nFleet Admiral A. Evars FORCOM\nCommanding", + Player::RankName(player->Rank()), + player->Name().data(), + current_group->GetDescription(), + Player::RankName(Player::CommandRankRequired(cmd_class))); CmdMsgDlg* msgdlg = manager->GetCmdMsgDlg(); msgdlg->Title()->SetText("Transfer Denied"); diff --git a/Stars45/CmpCompleteDlg.cpp b/Stars45/CmpCompleteDlg.cpp index 7d9c5a0..8a3e9d1 100644 --- a/Stars45/CmpCompleteDlg.cpp +++ b/Stars45/CmpCompleteDlg.cpp @@ -69,10 +69,10 @@ CmpCompleteDlg::Show() char img_name[256]; if (event) { - strcpy(img_name, event->ImageFile()); + strcpy_s(img_name, event->ImageFile()); if (!strstr(img_name, ".pcx")) { - strcat(img_name, ".pcx"); + strcat_s(img_name, ".pcx"); } if (loader) { diff --git a/Stars45/CmpFileDlg.cpp b/Stars45/CmpFileDlg.cpp index d75e3dd..b0086c1 100644 --- a/Stars45/CmpFileDlg.cpp +++ b/Stars45/CmpFileDlg.cpp @@ -114,10 +114,10 @@ CmpFileDlg::Show() FormatDay(day, campaign->GetTime()); - sprintf(save_name, "%s %s (%s)", - op_name, - day, - group->GetRegion().data()); + sprintf_s(save_name, "%s %s (%s)", + op_name, + day, + group->GetRegion().data()); } edt_name->SetText(save_name); @@ -155,7 +155,7 @@ CmpFileDlg::OnSave(AWEvent* event) CampaignSaveGame save(campaign); char filename[256]; - strcpy(filename, edt_name->GetText()); + strcpy_s(filename, edt_name->GetText()); char* newline = strchr(filename, '\n'); if (newline) *newline = 0; diff --git a/Stars45/CmpSelectDlg.cpp b/Stars45/CmpSelectDlg.cpp index d4ae5e8..0608fe7 100644 --- a/Stars45/CmpSelectDlg.cpp +++ b/Stars45/CmpSelectDlg.cpp @@ -151,7 +151,7 @@ CmpSelectDlg::ExecFrame() double t = campaign->GetLoadTime() - campaign->GetStartTime(); FormatDayTime(time_buf, t); - sprintf(score_buf, "%d", campaign->GetPlayerTeamScore()); + sprintf_s(score_buf, "%d", campaign->GetPlayerTeamScore()); Text desc = Text("") + campaign->Name() + @@ -471,9 +471,9 @@ CmpSelectDlg::OnDelete(AWEvent* event) ConfirmDlg* confirm = manager->GetConfirmDlg(); if (confirm) { char msg[256]; - sprintf(msg, Game::GetText("CmpSelectDlg.are-you-sure"), load_file.data()); - confirm->SetMessage(msg); - confirm->SetTitle(Game::GetText("CmpSelectDlg.confirm")); + sprintf_s(msg, Game::GetText("CmpSelectDlg.are-you-sure"), load_file.data()); + confirm->SetMessage(msg); + confirm->SetTitle(Game::GetText("CmpSelectDlg.confirm")); manager->ShowConfirmDlg(); } diff --git a/Stars45/CmpnScreen.cpp b/Stars45/CmpnScreen.cpp index 9c59da4..6e20cd6 100644 --- a/Stars45/CmpnScreen.cpp +++ b/Stars45/CmpnScreen.cpp @@ -236,9 +236,9 @@ CmpnScreen::ExecFrame() if (player->Trained() >= all_missions && player->Trained() < 255) { player->SetTrained(255); cmd_msg_dlg->Title()->SetText(Game::GetText("CmpnScreen.training")); - sprintf(msg_info, Game::GetText("CmpnScreen.congrats"), - Player::RankName(player->Rank()), - player->Name().data()); + sprintf_s(msg_info, Game::GetText("CmpnScreen.congrats"), + Player::RankName(player->Rank()), + player->Name().data()); cmd_msg_dlg->Message()->SetText(msg_info); cmd_msg_dlg->Message()->SetTextAlign(DT_LEFT); diff --git a/Stars45/CombatAction.cpp b/Stars45/CombatAction.cpp index fdf9672..5098747 100644 --- a/Stars45/CombatAction.cpp +++ b/Stars45/CombatAction.cpp @@ -230,59 +230,59 @@ CombatAction::TypeFromName(const char* n) { int type = 0; - if (!stricmp(n, "NO_ACTION")) - type = NO_ACTION; + if (!_stricmp(n, "NO_ACTION")) + type = NO_ACTION; - else if (!stricmp(n, "MARKER")) - type = NO_ACTION; + else if (!_stricmp(n, "MARKER")) + type = NO_ACTION; - else if (!stricmp(n, "STRATEGIC_DIRECTIVE")) - type = STRATEGIC_DIRECTIVE; + else if (!_stricmp(n, "STRATEGIC_DIRECTIVE")) + type = STRATEGIC_DIRECTIVE; - else if (!stricmp(n, "STRATEGIC")) - type = STRATEGIC_DIRECTIVE; + else if (!_stricmp(n, "STRATEGIC")) + type = STRATEGIC_DIRECTIVE; - else if (!stricmp(n, "ZONE_ASSIGNMENT")) - type = ZONE_ASSIGNMENT; + else if (!_stricmp(n, "ZONE_ASSIGNMENT")) + type = ZONE_ASSIGNMENT; - else if (!stricmp(n, "ZONE")) - type = ZONE_ASSIGNMENT; + else if (!_stricmp(n, "ZONE")) + type = ZONE_ASSIGNMENT; - else if (!stricmp(n, "SYSTEM_ASSIGNMENT")) - type = SYSTEM_ASSIGNMENT; + else if (!_stricmp(n, "SYSTEM_ASSIGNMENT")) + type = SYSTEM_ASSIGNMENT; - else if (!stricmp(n, "SYSTEM")) - type = SYSTEM_ASSIGNMENT; + else if (!_stricmp(n, "SYSTEM")) + type = SYSTEM_ASSIGNMENT; - else if (!stricmp(n, "MISSION_TEMPLATE")) - type = MISSION_TEMPLATE; + else if (!_stricmp(n, "MISSION_TEMPLATE")) + type = MISSION_TEMPLATE; - else if (!stricmp(n, "MISSION")) - type = MISSION_TEMPLATE; + else if (!_stricmp(n, "MISSION")) + type = MISSION_TEMPLATE; - else if (!stricmp(n, "COMBAT_EVENT")) - type = COMBAT_EVENT; + else if (!_stricmp(n, "COMBAT_EVENT")) + type = COMBAT_EVENT; - else if (!stricmp(n, "EVENT")) - type = COMBAT_EVENT; + else if (!_stricmp(n, "EVENT")) + type = COMBAT_EVENT; - else if (!stricmp(n, "INTEL_EVENT")) - type = INTEL_EVENT; + else if (!_stricmp(n, "INTEL_EVENT")) + type = INTEL_EVENT; - else if (!stricmp(n, "INTEL")) - type = INTEL_EVENT; + else if (!_stricmp(n, "INTEL")) + type = INTEL_EVENT; - else if (!stricmp(n, "CAMPAIGN_SITUATION")) - type = CAMPAIGN_SITUATION; + else if (!_stricmp(n, "CAMPAIGN_SITUATION")) + type = CAMPAIGN_SITUATION; - else if (!stricmp(n, "SITREP")) - type = CAMPAIGN_SITUATION; + else if (!_stricmp(n, "SITREP")) + type = CAMPAIGN_SITUATION; - else if (!stricmp(n, "CAMPAIGN_ORDERS")) - type = CAMPAIGN_ORDERS; + else if (!_stricmp(n, "CAMPAIGN_ORDERS")) + type = CAMPAIGN_ORDERS; - else if (!stricmp(n, "ORDERS")) - type = CAMPAIGN_ORDERS; + else if (!_stricmp(n, "ORDERS")) + type = CAMPAIGN_ORDERS; return type; } @@ -292,19 +292,19 @@ CombatAction::StatusFromName(const char* n) { int stat = 0; - if (!stricmp(n, "PENDING")) + if (!_stricmp(n, "PENDING")) stat = PENDING; - else if (!stricmp(n, "ACTIVE")) + else if (!_stricmp(n, "ACTIVE")) stat = ACTIVE; - else if (!stricmp(n, "SKIPPED")) + else if (!_stricmp(n, "SKIPPED")) stat = SKIPPED; - else if (!stricmp(n, "FAILED")) + else if (!_stricmp(n, "FAILED")) stat = FAILED; - else if (!stricmp(n, "COMPLETE")) + else if (!_stricmp(n, "COMPLETE")) stat = COMPLETE; return stat; @@ -318,34 +318,34 @@ CombatActionReq::CompFromName(const char* n) { int comp = 0; - if (!stricmp(n, "LT")) + if (!_stricmp(n, "LT")) comp = LT; - else if (!stricmp(n, "LE")) + else if (!_stricmp(n, "LE")) comp = LE; - else if (!stricmp(n, "GT")) + else if (!_stricmp(n, "GT")) comp = GT; - else if (!stricmp(n, "GE")) + else if (!_stricmp(n, "GE")) comp = GE; - else if (!stricmp(n, "EQ")) + else if (!_stricmp(n, "EQ")) comp = EQ; - else if (!stricmp(n, "RLT")) + else if (!_stricmp(n, "RLT")) comp = RLT; - else if (!stricmp(n, "RLE")) + else if (!_stricmp(n, "RLE")) comp = RLE; - else if (!stricmp(n, "RGT")) + else if (!_stricmp(n, "RGT")) comp = RGT; - else if (!stricmp(n, "RGE")) + else if (!_stricmp(n, "RGE")) comp = RGE; - else if (!stricmp(n, "REQ")) + else if (!_stricmp(n, "REQ")) comp = REQ; return comp; diff --git a/Stars45/CombatAssignment.cpp b/Stars45/CombatAssignment.cpp index b539ca9..e1683dc 100644 --- a/Stars45/CombatAssignment.cpp +++ b/Stars45/CombatAssignment.cpp @@ -55,14 +55,14 @@ CombatAssignment::GetDescription() const static char desc[256]; if (!resource) - sprintf(desc, "%s %s", - (const char*) Mission::RoleName(type), - (const char*) objective->Name()); + sprintf_s(desc, "%s %s", + (const char*) Mission::RoleName(type), + (const char*) objective->Name()); else - sprintf(desc, "%s %s %s", - (const char*) resource->Name(), - (const char*) Mission::RoleName(type), - (const char*) objective->Name()); + sprintf_s(desc, "%s %s %s", + (const char*) resource->Name(), + (const char*) Mission::RoleName(type), + (const char*) objective->Name()); return desc; } diff --git a/Stars45/CombatEvent.cpp b/Stars45/CombatEvent.cpp index 6af78ee..a44de3d 100644 --- a/Stars45/CombatEvent.cpp +++ b/Stars45/CombatEvent.cpp @@ -69,7 +69,7 @@ int CombatEvent::SourceFromName(const char* n) { for (int i = FORCOM; i <= NEWS; i++) - if (!stricmp(n, SourceName(i))) + if (!_stricmp(n, SourceName(i))) return i; return -1; @@ -99,7 +99,7 @@ int CombatEvent::TypeFromName(const char* n) { for (int i = ATTACK; i <= CAMPAIGN_FAIL; i++) - if (!stricmp(n, TypeName(i))) + if (!_stricmp(n, TypeName(i))) return i; return -1; diff --git a/Stars45/CombatGroup.cpp b/Stars45/CombatGroup.cpp index 209d3bd..fe41f1a 100644 --- a/Stars45/CombatGroup.cpp +++ b/Stars45/CombatGroup.cpp @@ -440,27 +440,28 @@ CombatGroup::GetOrdinal() const int last_two_digits = id % 100; if (last_two_digits > 10 && last_two_digits < 20) { - sprintf(ordinal, "ordinal.%d", last_two_digits); + sprintf_s(ordinal, "ordinal.%d", last_two_digits); Text suffix = Game::GetText(ordinal); + if (suffix != ordinal) - sprintf(ordinal, "%d%s", id, suffix.data()); + sprintf_s(ordinal, "%d%s", id, suffix.data()); else - sprintf(ordinal, "%dth", id); + sprintf_s(ordinal, "%dth", id); } else { int last_digit = last_two_digits % 10; - sprintf(ordinal, "ordinal.%d", last_digit); + sprintf_s(ordinal, "ordinal.%d", last_digit); Text suffix = Game::GetText(ordinal); if (suffix != ordinal) - sprintf(ordinal, "%d%s", id, suffix.data()); + sprintf_s(ordinal, "%d%s", id, suffix.data()); else if (last_digit == 1) - sprintf(ordinal, "%dst", id); + sprintf_s(ordinal, "%dst", id); else if (last_digit == 2) - sprintf(ordinal, "%dnd", id); + sprintf_s(ordinal, "%dnd", id); else if (last_digit == 3) - sprintf(ordinal, "%drd", id); + sprintf_s(ordinal, "%drd", id); else - sprintf(ordinal, "%dth", id); + sprintf_s(ordinal, "%dth", id); } return ordinal; @@ -473,48 +474,48 @@ CombatGroup::GetDescription() const static char name_desc[256]; if (name.length()) - sprintf(name_desc, " \"%s\"", (const char*) name); + sprintf_s(name_desc, " \"%s\"", (const char*) name); else - name_desc[0] = 0; + name_desc[0] = 0; switch (type) { - case FORCE: strcpy(desc, (const char*) name); break; - - case FLEET: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.FLEET").data(), name_desc); break; - case CARRIER_GROUP: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.CARRIER_GROUP").data(), name_desc); break; - case BATTLE_GROUP: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.BATTLE_GROUP").data(), name_desc); break; - case DESTROYER_SQUADRON: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.DESTROYER_SQUADRON").data(), name_desc); break; - - case WING: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.WING").data(), name_desc); break; - case ATTACK_SQUADRON: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.ATTACK_SQUADRON").data(), name_desc); break; - case FIGHTER_SQUADRON: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.FIGHTER_SQUADRON").data(), name_desc); break; - case INTERCEPT_SQUADRON: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.INTERCEPT_SQUADRON").data(), name_desc); break; - case LCA_SQUADRON: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.LCA_SQUADRON").data(), name_desc); break; - - case BATTALION: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.BATTALION").data(), name_desc); break; - case STATION: sprintf(desc, "%s %s", Game::GetText("CombatGroup.STATION").data(), name); break; - case STARBASE: sprintf(desc, "%s %d%s", Game::GetText("CombatGroup.STARBASE").data(), id, name_desc); break; - case MINEFIELD: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.MINEFIELD").data(), name_desc); break; - case BATTERY: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.BATTERY").data(), name_desc); break; - case MISSILE: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.MISSILE").data(), name_desc); break; - - case C3I: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.C3I").data(), name_desc); break; - case COMM_RELAY: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.COMM_RELAY").data(), name_desc); break; - case EARLY_WARNING: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.EARLY_WARNING").data(), name_desc); break; - case FWD_CONTROL_CTR: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.FWD_CONTROL_CTR").data(), name_desc); break; - case ECM: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.ECM").data(), name_desc); break; - - case SUPPORT: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.SUPPORT").data(), name_desc); break; - case COURIER: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.COURIER").data(), name_desc); break; - case SUPPLY: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.SUPPLY").data(), name_desc); break; - case REPAIR: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.REPAIR").data(), name_desc); break; - case MEDICAL: sprintf(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.MEDICAL").data(), name_desc); break; + case FORCE: strcpy_s(desc, (const char*) name); break; + + case FLEET: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.FLEET").data(), name_desc); break; + case CARRIER_GROUP: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.CARRIER_GROUP").data(), name_desc); break; + case BATTLE_GROUP: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.BATTLE_GROUP").data(), name_desc); break; + case DESTROYER_SQUADRON: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.DESTROYER_SQUADRON").data(), name_desc); break; + + case WING: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.WING").data(), name_desc); break; + case ATTACK_SQUADRON: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.ATTACK_SQUADRON").data(), name_desc); break; + case FIGHTER_SQUADRON: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.FIGHTER_SQUADRON").data(), name_desc); break; + case INTERCEPT_SQUADRON: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.INTERCEPT_SQUADRON").data(), name_desc); break; + case LCA_SQUADRON: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.LCA_SQUADRON").data(), name_desc); break; + + case BATTALION: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.BATTALION").data(), name_desc); break; + case STATION: sprintf_s(desc, "%s %s", Game::GetText("CombatGroup.STATION").data(), name); break; + case STARBASE: sprintf_s(desc, "%s %d%s", Game::GetText("CombatGroup.STARBASE").data(), id, name_desc); break; + case MINEFIELD: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.MINEFIELD").data(), name_desc); break; + case BATTERY: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.BATTERY").data(), name_desc); break; + case MISSILE: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.MISSILE").data(), name_desc); break; + + case C3I: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.C3I").data(), name_desc); break; + case COMM_RELAY: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.COMM_RELAY").data(), name_desc); break; + case EARLY_WARNING: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.EARLY_WARNING").data(), name_desc); break; + case FWD_CONTROL_CTR: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.FWD_CONTROL_CTR").data(), name_desc); break; + case ECM: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.ECM").data(), name_desc); break; + + case SUPPORT: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.SUPPORT").data(), name_desc); break; + case COURIER: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.COURIER").data(), name_desc); break; + case SUPPLY: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.SUPPLY").data(), name_desc); break; + case REPAIR: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.REPAIR").data(), name_desc); break; + case MEDICAL: sprintf_s(desc, "%s %s%s", GetOrdinal(), Game::GetText("CombatGroup.MEDICAL").data(), name_desc); break; case CIVILIAN: case WAR_PRODUCTION: case FACTORY: case REFINERY: - case RESOURCE: strcpy(desc, (const char*) name); break; + case RESOURCE: strcpy_s(desc, (const char*) name); break; case INFRASTRUCTURE: case TRANSPORT: @@ -523,9 +524,9 @@ CombatGroup::GetDescription() const case STORAGE: case FREIGHT: case PASSENGER: - case PRIVATE: strcpy(desc, (const char*) name); break; + case PRIVATE: strcpy_s(desc, (const char*) name); break; - default: sprintf(desc, "%s%s", Game::GetText("CombatGroup.default").data(), name_desc); break; + default: sprintf_s(desc, "%s%s", Game::GetText("CombatGroup.default").data(), name_desc); break; } return desc; @@ -537,42 +538,42 @@ CombatGroup::GetShortDescription() const static char desc[256]; switch (type) { - case FORCE: strcpy(desc, (const char*) name); break; - - case FLEET: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.FLEET").data()); break; - case CARRIER_GROUP: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.CARRIER_GROUP").data()); break; - case BATTLE_GROUP: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.BATTLE_GROUP").data()); break; - case DESTROYER_SQUADRON: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.DESTROYER_SQUADRON").data()); break; - - case WING: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.WING").data()); break; - case ATTACK_SQUADRON: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.ATTACK_SQUADRON").data()); break; - case FIGHTER_SQUADRON: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.FIGHTER_SQUADRON").data()); break; - case INTERCEPT_SQUADRON: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.INTERCEPT_SQUADRON").data()); break; - case LCA_SQUADRON: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.LCA_SQUADRON").data()); break; - - case BATTALION: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.BATTALION").data()); break; - case STATION: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.STATION").data()); break; - case STARBASE: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.STARBASE").data()); break; - case MINEFIELD: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.MINEFIELD").data()); break; - case BATTERY: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.BATTERY").data()); break; - - case C3I: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.C3I").data()); break; - case COMM_RELAY: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.COMM_RELAY").data()); break; - case EARLY_WARNING: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.EARLY_WARNING").data()); break; - case FWD_CONTROL_CTR: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.FWD_CONTROL_CTR").data()); break; - case ECM: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.ECM").data()); break; - - case SUPPORT: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.SUPPORT").data()); break; - case COURIER: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.COURIER").data()); break; - case MEDICAL: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.MEDICAL").data()); break; - case SUPPLY: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.SUPPLY").data()); break; - case REPAIR: sprintf(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.REPAIR").data()); break; + case FORCE: strcpy_s(desc, (const char*) name); break; + + case FLEET: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.FLEET").data()); break; + case CARRIER_GROUP: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.CARRIER_GROUP").data()); break; + case BATTLE_GROUP: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.BATTLE_GROUP").data()); break; + case DESTROYER_SQUADRON: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.DESTROYER_SQUADRON").data()); break; + + case WING: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.WING").data()); break; + case ATTACK_SQUADRON: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.ATTACK_SQUADRON").data()); break; + case FIGHTER_SQUADRON: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.FIGHTER_SQUADRON").data()); break; + case INTERCEPT_SQUADRON: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.INTERCEPT_SQUADRON").data()); break; + case LCA_SQUADRON: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.LCA_SQUADRON").data()); break; + + case BATTALION: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.BATTALION").data()); break; + case STATION: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.STATION").data()); break; + case STARBASE: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.STARBASE").data()); break; + case MINEFIELD: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.MINEFIELD").data()); break; + case BATTERY: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.BATTERY").data()); break; + + case C3I: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.C3I").data()); break; + case COMM_RELAY: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.COMM_RELAY").data()); break; + case EARLY_WARNING: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.EARLY_WARNING").data()); break; + case FWD_CONTROL_CTR: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.FWD_CONTROL_CTR").data()); break; + case ECM: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.ECM").data()); break; + + case SUPPORT: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.SUPPORT").data()); break; + case COURIER: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.COURIER").data()); break; + case MEDICAL: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.MEDICAL").data()); break; + case SUPPLY: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.SUPPLY").data()); break; + case REPAIR: sprintf_s(desc, "%s %s", GetOrdinal(), Game::GetText("CombatGroup.abrv.REPAIR").data()); break; case CIVILIAN: case WAR_PRODUCTION: case FACTORY: case REFINERY: - case RESOURCE: strcpy(desc, (const char*) name); break; + case RESOURCE: strcpy_s(desc, (const char*) name); break; case INFRASTRUCTURE: case TRANSPORT: @@ -581,9 +582,9 @@ CombatGroup::GetShortDescription() const case STORAGE: case FREIGHT: case PASSENGER: - case PRIVATE: strcpy(desc, (const char*) name); break; + case PRIVATE: strcpy_s(desc, (const char*) name); break; - default: sprintf(desc, "%s", Game::GetText("CombatGroup.abrv.default").data()); break; + default: sprintf_s(desc, "%s", Game::GetText("CombatGroup.abrv.default").data()); break; } return desc; @@ -935,7 +936,7 @@ int CombatGroup::TypeFromName(const char* type_name) { for (int i = FORCE; i < PRIVATE; i++) - if (!stricmp(type_name, group_name[i])) + if (!_stricmp(type_name, group_name[i])) return i; return 0; @@ -1034,7 +1035,7 @@ CombatGroup::LoadOrderOfBattle(const char* filename, int team, Combatant* combat *unit_design = 0; *unit_skin = 0; - strcpy(intel, "KNOWN"); + strcpy_s(intel, "KNOWN"); // all groups in this OOB default to the IFF of the main force if (force) @@ -1279,7 +1280,7 @@ CombatGroup::MergeOrderOfBattle(BYTE* block, const char* filename, int team, Com *unit_regnum = 0; *unit_design = 0; - strcpy(intel, "KNOWN"); + strcpy_s(intel, "KNOWN"); // all groups in this OOB default to the IFF of the main force if (force) @@ -1377,7 +1378,7 @@ CombatGroup::MergeOrderOfBattle(BYTE* block, const char* filename, int team, Com if (iff >= 0 && (iff == team || team < 0)) { // have we found the force group we are looking for yet? - if (!force && !stricmp(name, combatant->Name())) { + if (!force && !_stricmp(name, combatant->Name())) { force = combatant->GetForce(); } @@ -1472,15 +1473,15 @@ Text FormatNumber(double n) char buffer[64]; if (fabs(n) < 1000) - sprintf(buffer, "%d", (int) n); + sprintf_s(buffer, "%d", (int) n); else if (fabs(n) < 1e6) { int nn = (int) n / 1000; - sprintf(buffer, "%de3", nn); + sprintf_s(buffer, "%de3", nn); } else - sprintf(buffer, "%g", n); + sprintf_s(buffer, "%g", n); return buffer; } @@ -1579,7 +1580,8 @@ SaveCombatGroup(FILE* f, CombatGroup* g) void CombatGroup::SaveOrderOfBattle(const char* filename, CombatGroup* force) { - FILE* f = ::fopen(filename, "a+"); + FILE* f; + ::fopen_s(&f, filename, "a+"); if (f) { SaveCombatGroup(f, force); diff --git a/Stars45/CombatUnit.cpp b/Stars45/CombatUnit.cpp index ed65f4c..951cb87 100644 --- a/Stars45/CombatUnit.cpp +++ b/Stars45/CombatUnit.cpp @@ -89,22 +89,22 @@ CombatUnit::GetDescription() const static char desc[256]; if (!design) { - strcpy(desc, Game::GetText("[unknown]").data()); + strcpy_s(desc, Game::GetText("[unknown]").data()); } else if (count > 1) { - sprintf(desc, "%dx %s %s", LiveCount(), design->abrv, design->DisplayName()); + sprintf_s(desc, "%dx %s %s", LiveCount(), design->abrv, design->DisplayName()); } else { if (regnum.length() > 0) - sprintf(desc, "%s-%s %s", design->abrv, (const char*) regnum, (const char*) name); + sprintf_s(desc, "%s-%s %s", design->abrv, (const char*) regnum, (const char*) name); else - sprintf(desc, "%s %s", design->abrv, (const char*) name); + sprintf_s(desc, "%s %s", design->abrv, (const char*) name); if (dead_count > 0) { - strcat(desc, " "); - strcat(desc, Game::GetText("killed.in.action")); + strcat_s(desc, " "); + strcat_s(desc, Game::GetText("killed.in.action")); } } diff --git a/Stars45/Contact.cpp b/Stars45/Contact.cpp index 8f5678c..667a9e1 100644 --- a/Stars45/Contact.cpp +++ b/Stars45/Contact.cpp @@ -98,11 +98,11 @@ Contact::GetObserverName() const static char name[128]; if (ship) - sprintf(name, "Contact Ship='%s'", ship->Name()); + sprintf_s(name, "Contact Ship='%s'", ship->Name()); else if (shot) - sprintf(name, "Contact Shot='%s' %s", shot->Name(), shot->DesignName()); + sprintf_s(name, "Contact Shot='%s' %s", shot->Name(), shot->DesignName()); else - sprintf(name, "Contact (unknown)"); + sprintf_s(name, "Contact (unknown)"); return name; } diff --git a/Stars45/DebriefDlg.cpp b/Stars45/DebriefDlg.cpp index d2ad102..1d90176 100644 --- a/Stars45/DebriefDlg.cpp +++ b/Stars45/DebriefDlg.cpp @@ -188,15 +188,13 @@ DebriefDlg::Show() stats->Summarize(); Player* player = Player::GetCurrentPlayer(); - int points = stats->GetPoints() + - stats->GetCommandPoints(); + int points = stats->GetPoints() + stats->GetCommandPoints(); if (player && sim) - points = player->GetMissionPoints(stats, sim->StartTime()) + - stats->GetCommandPoints(); + points = player->GetMissionPoints(stats, sim->StartTime()) + stats->GetCommandPoints(); char score[32]; - sprintf(score, "%d %s", points, Game::GetText("DebriefDlg.points").data()); + sprintf_s(score, "%d %s", points, Game::GetText("DebriefDlg.points").data()); mission_score->SetText(score); break; } @@ -282,15 +280,15 @@ DebriefDlg::OnUnit(AWEvent* event) char txt[64]; int i = 0; - sprintf(txt, "%d", stats->GetGunShots()); + sprintf_s(txt, "%d", stats->GetGunShots()); summary_list->AddItem("Guns Fired: "); summary_list->SetItemText(i++, 1, txt); - sprintf(txt, "%d", stats->GetGunHits()); + sprintf_s(txt, "%d", stats->GetGunHits()); summary_list->AddItem("Gun Hits: "); summary_list->SetItemText(i++, 1, txt); - sprintf(txt, "%d", stats->GetGunKills()); + sprintf_s(txt, "%d", stats->GetGunKills()); summary_list->AddItem("Gun Kills: "); summary_list->SetItemText(i++, 1, txt); @@ -298,15 +296,15 @@ DebriefDlg::OnUnit(AWEvent* event) summary_list->AddItem(" "); i++; - sprintf(txt, "%d", stats->GetMissileShots()); + sprintf_s(txt, "%d", stats->GetMissileShots()); summary_list->AddItem("Missiles Fired: "); summary_list->SetItemText(i++, 1, txt); - sprintf(txt, "%d", stats->GetMissileHits()); + sprintf_s(txt, "%d", stats->GetMissileHits()); summary_list->AddItem("Missile Hits: "); summary_list->SetItemText(i++, 1, txt); - sprintf(txt, "%d", stats->GetMissileKills()); + sprintf_s(txt, "%d", stats->GetMissileKills()); summary_list->AddItem("Missile Kills: "); summary_list->SetItemText(i++, 1, txt); diff --git a/Stars45/Drone.cpp b/Stars45/Drone.cpp index 3087897..c4dc591 100644 --- a/Stars45/Drone.cpp +++ b/Stars45/Drone.cpp @@ -40,7 +40,7 @@ decoy_type(0), iff_code(0) decoy_type = dsn->decoy_type; probe = dsn->probe; integrity = dsn->integrity; - sprintf(name, "Drone %04d", Identity()); + sprintf_s(name, "Drone %04d", Identity()); } } diff --git a/Stars45/Element.cpp b/Stars45/Element.cpp index 7b3c099..4cb36a9 100644 --- a/Stars45/Element.cpp +++ b/Stars45/Element.cpp @@ -35,7 +35,7 @@ zone_lock(0), respawns(0), count(0), rogue(false), playable(true), intel(0) { if (!call_sign) { char buf[32]; - sprintf(buf, "Pkg %d", id); + sprintf_s(buf, "Pkg %d", id); name = buf; } diff --git a/Stars45/EngDlg.cpp b/Stars45/EngDlg.cpp index 3ceae84..ec19044 100644 --- a/Stars45/EngDlg.cpp +++ b/Stars45/EngDlg.cpp @@ -265,7 +265,7 @@ EngDlg::UpdateRouteTables() while (++client) { char abrv[64], num[20]; FormatNumber(num, client->GetPowerLevel()); - strcpy(abrv, Game::GetText(client->Name())); + strcpy_s(abrv, Game::GetText(client->Name())); clients[reactor_index]->AddItemWithData(Game::GetText(abrv), index); clients[reactor_index]->SetItemText(index, 1, num); diff --git a/Stars45/Explosion.cpp b/Stars45/Explosion.cpp index 175e6ab..8f642cf 100644 --- a/Stars45/Explosion.cpp +++ b/Stars45/Explosion.cpp @@ -161,9 +161,9 @@ Explosion::GetObserverName() const { static char name[128]; if (source) - sprintf(name, "Explosion(%s)", source->Name()); + sprintf_s(name, "Explosion(%s)", source->Name()); else - sprintf(name, "Explosion"); + sprintf_s(name, "Explosion"); return name; } @@ -293,7 +293,7 @@ Explosion::Initialize() }; for (int n = 0; n < 15; n++) - if (!stricmp(type_name, names[n])) + if (!_stricmp(type_name, names[n])) type = n + 1; } @@ -422,7 +422,7 @@ Explosion::Initialize() if (length > 1) { for (int n = 0; n < length; n++) { char img_name[64]; - sprintf(img_name, "%s%02d.pcx", bitmap, n); + sprintf_s(img_name, "%s%02d.pcx", bitmap, n); loader->LoadBitmap(img_name, bitmaps[type][n], Bitmap::BMP_TRANSLUCENT); } } @@ -438,7 +438,7 @@ Explosion::Initialize() if (part_nframes > 1) { for (int i = 0; i < part_nframes; i++) { char fname[64]; - sprintf(fname, "%s%02d.pcx", particle_bitmap, i); + sprintf_s(fname, "%s%02d.pcx", particle_bitmap, i); loader->LoadBitmap(fname, particle_bitmaps[type][i], Bitmap::BMP_TRANSLUCENT); particle_bitmaps[type][i].MakeTexture(); } diff --git a/Stars45/FirstTimeDlg.cpp b/Stars45/FirstTimeDlg.cpp index c457e68..a067239 100644 --- a/Stars45/FirstTimeDlg.cpp +++ b/Stars45/FirstTimeDlg.cpp @@ -89,7 +89,7 @@ FirstTimeDlg::OnApply(AWEvent* event) if (player) { if (edt_name) { char password[16]; - sprintf(password, "%08x", (DWORD) Random(0, 2e9)); + sprintf_s(password, "%08x", (DWORD) Random(0, 2e9)); player->SetName(edt_name->GetText()); player->SetPassword(password); diff --git a/Stars45/FltDlg.cpp b/Stars45/FltDlg.cpp index ef62161..920c58e 100644 --- a/Stars45/FltDlg.cpp +++ b/Stars45/FltDlg.cpp @@ -134,7 +134,7 @@ FltDlg::SetShip(Ship* s) for (int i = 0; i < nsquadrons; i++) { char filter[64]; - sprintf(filter, "%s %s", + sprintf_s(filter, "%s %s", hangar->SquadronDesign(i)->abrv, hangar->SquadronName(i)); @@ -377,7 +377,7 @@ FltDlg::UpdateSelection() last_index++; char txt[32]; - sprintf(txt, "%2d ", last_index+1); + sprintf_s(txt, "%2d ", last_index+1); hangar_list->AddItemWithData(txt, last_index); // use data for sort if (hangar->GetShip(s)) @@ -480,7 +480,7 @@ FltDlg::UpdateObjective() FormatNumber(txt, r); } else { - strcpy(txt, Game::GetText("FltDlg.Unknown").data()); + strcpy_s(txt, Game::GetText("FltDlg.Unknown").data()); r = 2e9; } } @@ -534,7 +534,7 @@ FltDlg::OnFilter(AWEvent* event) for (int i = 0; i < nslots; i++) { char txt[32]; - sprintf(txt, " %2d ", i+1); + sprintf_s(txt, " %2d ", i+1); const HangarSlot* s = hangar->GetSlot(seln, i); hangar_list->AddItemWithData(txt, i); @@ -565,7 +565,7 @@ FltDlg::OnFilter(AWEvent* event) int slot = -1; char txt[32]; - sprintf(txt, "%d-%d ", f+1, i+1); + sprintf_s(txt, "%d-%d ", f+1, i+1); hangar_list->AddItemWithData(txt, item); // use data for sort @@ -623,7 +623,7 @@ FltDlg::OnFilter(AWEvent* event) if (hangar->GetState(s) >= Hangar::ACTIVE) { char txt[32]; - sprintf(txt, " %2d ", item+1); + sprintf_s(txt, " %2d ", item+1); hangar_list->AddItemWithData(txt, item); // use data for sort @@ -994,7 +994,7 @@ FltDlg::OnMissionType(AWEvent* event) FormatNumber(txt, r); } else { - strcpy(txt, Game::GetText("FltDlg.Unknown").data()); + strcpy_s(txt, Game::GetText("FltDlg.Unknown").data()); r = 2e9; } } @@ -1064,7 +1064,7 @@ FltDlg::OnMissionType(AWEvent* event) int item = loadout_list->AddItem(sl->name) - 1; char weight[32]; - sprintf(weight, "%d kg", (int) ((design->mass + sl->mass) * 1000)); + sprintf_s(weight, "%d kg", (int) ((design->mass + sl->mass) * 1000)); loadout_list->SetItemText(item, 1, weight); loadout_list->SetItemData(item, 1, (DWORD) (sl->mass * 1000)); } diff --git a/Stars45/Galaxy.cpp b/Stars45/Galaxy.cpp index f1249a0..20f37d7 100644 --- a/Stars45/Galaxy.cpp +++ b/Stars45/Galaxy.cpp @@ -72,7 +72,7 @@ Galaxy::Load() { DataLoader* loader = DataLoader::GetLoader(); loader->SetDataPath("Galaxy/"); - sprintf(filename, "%s.def", (const char*) name); + sprintf_s(filename, "%s.def", (const char*) name); Load(filename); // load mod galaxies: diff --git a/Stars45/GroundAI.cpp b/Stars45/GroundAI.cpp index 3cb2f28..cd4d68b 100644 --- a/Stars45/GroundAI.cpp +++ b/Stars45/GroundAI.cpp @@ -101,7 +101,7 @@ const char* GroundAI::GetObserverName() const { static char name[64]; - sprintf(name, "GroundAI(%s)", ship->Name()); + sprintf_s(name, "GroundAI(%s)", ship->Name()); return name; } diff --git a/Stars45/HUDView.cpp b/Stars45/HUDView.cpp index bd69f50..1aaaf96 100644 --- a/Stars45/HUDView.cpp +++ b/Stars45/HUDView.cpp @@ -1089,7 +1089,7 @@ HUDView::DrawContact(Contact* contact, int index) Rect contact_rect(x+8, y-4, 120, 12); if (range == 0) { - sprintf(contact_buf, "%c *", code); + sprintf_s(contact_buf, "%c *", code); } else { bool mega = false; @@ -1105,11 +1105,11 @@ HUDView::DrawContact(Contact* contact, int index) if (arcade) { if (c_ship) - strcpy(contact_buf, c_ship->Name()); + strcpy_s(contact_buf, c_ship->Name()); else if (!mega) - sprintf(contact_buf, "%c %d", code, (int) range); + sprintf_s(contact_buf, "%c %d", code, (int) range); else - sprintf(contact_buf, "%c %.1f M", code, range); + sprintf_s(contact_buf, "%c %.1f M", code, range); } else { char closing = '+'; @@ -1124,9 +1124,9 @@ HUDView::DrawContact(Contact* contact, int index) closing = '-'; if (!mega) - sprintf(contact_buf, "%c %d%c", code, (int) range, closing); + sprintf_s(contact_buf, "%c %d%c", code, (int) range, closing); else - sprintf(contact_buf, "%c %.1f M", code, range); + sprintf_s(contact_buf, "%c %.1f M", code, range); } } @@ -1362,7 +1362,7 @@ HUDView::DrawBars() double alt_agl = ship->AltitudeAGL(); if (alt_agl <= 1000) - sprintf(txt, "R %4d", (int) alt_agl); + sprintf_s(txt, "R %4d", (int) alt_agl); else FormatNumber(txt, alt_msl); @@ -1370,7 +1370,7 @@ HUDView::DrawBars() if (arcade) { char arcade_txt[32]; - sprintf(arcade_txt, "%s %s", Game::GetText("HUDView.altitude").data(), txt); + sprintf_s(arcade_txt, "%s %s", Game::GetText("HUDView.altitude").data(), txt); align = (tactical) ? DT_LEFT : DT_RIGHT; DrawHUDText(TXT_ALTITUDE, arcade_txt, speed_rect, align); } @@ -1380,7 +1380,7 @@ HUDView::DrawBars() } if (!arcade) { - sprintf(txt, "%.1f G", ship->GForce()); + sprintf_s(txt, "%.1f G", ship->GForce()); speed_rect.y -= 20; align = (tactical) ? DT_LEFT : DT_RIGHT; @@ -1392,7 +1392,7 @@ HUDView::DrawBars() // upper left hud quadrant (starships) else if (ship->IsStarship() && ship->GetFLCSMode() == Ship::FLCS_HELM && !arcade) { - sprintf(txt, "%s: %.1f", Game::GetText("HUDView.Pitch").data(), ship->GetHelmPitch()/DEGREES); + sprintf_s(txt, "%s: %.1f", Game::GetText("HUDView.Pitch").data(), ship->GetHelmPitch()/DEGREES); speed_rect.y -= 50; align = (tactical) ? DT_LEFT : DT_RIGHT; @@ -1401,7 +1401,7 @@ HUDView::DrawBars() speed_rect.y -= 10; int heading_degrees = (int) (ship->GetHelmHeading()/DEGREES); if (heading_degrees < 0) heading_degrees += 360; - sprintf(txt, "%s: %03d", Game::GetText("HUDView.Heading").data(), heading_degrees); + sprintf_s(txt, "%s: %03d", Game::GetText("HUDView.Heading").data(), heading_degrees); DrawHUDText(TXT_HEADING, txt, speed_rect, align); speed_rect.y += 60; @@ -1412,14 +1412,14 @@ HUDView::DrawBars() Rect heading_rect(l, t+5, bar_width, 12); int heading_degrees = (int) (ship->CompassHeading()/DEGREES); if (heading_degrees < 0) heading_degrees += 360; - sprintf(txt, "%d", heading_degrees); + sprintf_s(txt, "%d", heading_degrees); DrawHUDText(TXT_COMPASS, txt, heading_rect, DT_CENTER); } switch (mode) { - case HUD_MODE_TAC: strcpy(txt, Game::GetText("HUDView.mode.tactical").data()); break; - case HUD_MODE_NAV: strcpy(txt, Game::GetText("HUDView.mode.navigation").data()); break; - case HUD_MODE_ILS: strcpy(txt, Game::GetText("HUDView.mode.landing").data()); break; + case HUD_MODE_TAC: strcpy_s(txt, Game::GetText("HUDView.mode.tactical").data()); break; + case HUD_MODE_NAV: strcpy_s(txt, Game::GetText("HUDView.mode.navigation").data()); break; + case HUD_MODE_ILS: strcpy_s(txt, Game::GetText("HUDView.mode.landing").data()); break; } if (tactical) { @@ -1450,7 +1450,7 @@ HUDView::DrawBars() if (quantum && quantum->JumpTime() > 0) { static char buf[64]; - sprintf(buf, "%s: %d", Game::GetText("HUDView.quantum-jump").data(), (int) quantum->JumpTime()); + sprintf_s(buf, "%s: %d", Game::GetText("HUDView.quantum-jump").data(), (int) quantum->JumpTime()); threat_warn = buf; } @@ -1498,7 +1498,7 @@ HUDView::DrawBars() if (missile && missile->Ammo() > 0 && !ship->IsNetObserver()) { if (!arcade) { speed_rect.y = cy-5 +30; - sprintf(txt, "%s %d", missile->Name(), missile->Ammo()); + sprintf_s(txt, "%s %d", missile->Name(), missile->Ammo()); DrawHUDText(TXT_SECONDARY_WEP, txt, speed_rect, align); } @@ -1512,12 +1512,12 @@ HUDView::DrawBars() if (!arcade && !ship->IsNetObserver()) { if (ship->GetShield()) { speed_rect.y = cy-5+40; - sprintf(txt, "%s - %03d +", Game::GetText("HUDView.SHIELD").data(), ship->ShieldStrength()); + sprintf_s(txt, "%s - %03d +", Game::GetText("HUDView.SHIELD").data(), ship->ShieldStrength()); DrawHUDText(TXT_SHIELD, txt, speed_rect, align); } else if (ship->GetDecoy()) { speed_rect.y = cy-5+40; - sprintf(txt, "%s %d", Game::GetText("HUDView.DECOY").data(), ship->GetDecoy()->Ammo()); + sprintf_s(txt, "%s %d", Game::GetText("HUDView.DECOY").data(), ship->GetDecoy()->Ammo()); DrawHUDText(TXT_DECOY, txt, speed_rect, align); } @@ -1539,7 +1539,7 @@ HUDView::DrawBars() int seconds = (eta ) % 60; char eta_buf[16]; - sprintf(eta_buf, "T %d:%02d", minutes, seconds); + sprintf_s(eta_buf, "T %d:%02d", minutes, seconds); DrawHUDText(TXT_MISSILE_T1+i, eta_buf, eta_rect, align); eta_rect.y += 10; } @@ -2052,7 +2052,7 @@ HUDView::DrawTarget() distance = contact->Range(ship, limit); if (!contact->ActLock() && !contact->PasLock()) { - strcpy(txt, Game::GetText("HUDView.No-Range").data()); + strcpy_s(txt, Game::GetText("HUDView.No-Range").data()); speed = 0; } else { @@ -2097,12 +2097,12 @@ HUDView::DrawTarget() if (mode != HUD_MODE_ILS) { if (tgt_ship->IsStarship()) { range_rect.y += 10; - sprintf(txt, "%s %03d", Game::GetText("HUDView.symbol.shield").data(), (int) tgt_ship->ShieldStrength()); + sprintf_s(txt, "%s %03d", Game::GetText("HUDView.symbol.shield").data(), (int) tgt_ship->ShieldStrength()); DrawHUDText(TXT_TARGET_SHIELD, txt, range_rect, DT_RIGHT); } range_rect.y += 10; - sprintf(txt, "%s %03d", Game::GetText("HUDView.symbol.hull").data(), (int) (tgt_ship->Integrity() / tgt_ship->Design()->integrity * 100)); + sprintf_s(txt, "%s %03d", Game::GetText("HUDView.symbol.hull").data(), (int) (tgt_ship->Integrity() / tgt_ship->Design()->integrity * 100)); DrawHUDText(TXT_TARGET_HULL, txt, range_rect, DT_RIGHT); System* sys = ship->GetSubTarget(); @@ -2111,7 +2111,7 @@ HUDView::DrawTarget() static DWORD blink = Game::RealTime(); int blink_delta = Game::RealTime() - blink; - sprintf(txt, "%s %03d", sys->Abbreviation(), (int) sys->Availability()); + sprintf_s(txt, "%s %03d", sys->Abbreviation(), (int) sys->Availability()); switch (sys->Status()) { case System::DEGRADED: stat = Color(255,255, 0); break; @@ -2146,7 +2146,7 @@ HUDView::DrawTarget() int seconds = (eta ) % 60; char eta_buf[16]; - sprintf(eta_buf, "T %d:%02d", minutes, seconds); + sprintf_s(eta_buf, "T %d:%02d", minutes, seconds); DrawHUDText(TXT_TARGET_ETA, eta_buf, range_rect, DT_RIGHT); } } @@ -2204,9 +2204,9 @@ HUDView::DrawNavInfo() info_rect.x = width - info_rect.w - 8; if (ship->IsAutoNavEngaged()) - sprintf(txt, "%s %d", Game::GetText("HUDView.Auto-Nav").data(), index); + sprintf_s(txt, "%s %d", Game::GetText("HUDView.Auto-Nav").data(), index); else - sprintf(txt, "%s %d", Game::GetText("HUDView.Nav").data(), index); + sprintf_s(txt, "%s %d", Game::GetText("HUDView.Nav").data(), index); DrawHUDText(TXT_NAV_INDEX, txt, info_rect, DT_RIGHT); info_rect.y += 10; @@ -2219,7 +2219,7 @@ HUDView::DrawNavInfo() if (etr > 3600) { info_rect.y += 10; - sprintf(txt, "%s XX:XX", Game::GetText("HUDView.time-enroute").data()); + sprintf_s(txt, "%s XX:XX", Game::GetText("HUDView.time-enroute").data()); DrawHUDText(TXT_NAV_ETR, txt, info_rect, DT_RIGHT); } else if (etr > 0) { @@ -2227,7 +2227,7 @@ HUDView::DrawNavInfo() int minutes = (etr/60) % 60; int seconds = (etr ) % 60; - sprintf(txt, "%s %2d:%02d", Game::GetText("HUDView.time-enroute").data(), minutes, seconds); + sprintf_s(txt, "%s %2d:%02d", Game::GetText("HUDView.time-enroute").data(), minutes, seconds); DrawHUDText(TXT_NAV_ETR, txt, info_rect, DT_RIGHT); } @@ -2237,7 +2237,7 @@ HUDView::DrawNavInfo() int hold = (int) navpt->HoldTime(); int minutes = (hold/60) % 60; int seconds = (hold ) % 60; - sprintf(txt, "%s %2d:%02d", Game::GetText("HUDView.HOLD").data(), minutes, seconds); + sprintf_s(txt, "%s %2d:%02d", Game::GetText("HUDView.HOLD").data(), minutes, seconds); DrawHUDText(TXT_NAV_HOLD, txt, info_rect, DT_RIGHT); } } @@ -2785,7 +2785,7 @@ HUDView::DrawInstructions() } char page[32]; - sprintf(page, "%d / %d", inst_page+1, npages); + sprintf_s(page, "%d / %d", inst_page+1, npages); r = Rect(width/2 + 40, height-16, 110, 16); DrawHUDText(TXT_INSTR_PAGE, page, r, DT_CENTER, HUD_MIXED_CASE); } @@ -2795,7 +2795,7 @@ HUDView::DrawInstructions() for (int i = 0; i < nobj; i++) { char desc[256]; - sprintf(desc, "* %s", elem->GetObjective(i)->GetShortDescription()); + sprintf_s(desc, "* %s", elem->GetObjective(i)->GetShortDescription()); hud_text[n].color = standard_txt_colors[color]; DrawHUDText(n++, desc, r, DT_LEFT, HUD_MIXED_CASE); r.y += 14; @@ -3143,10 +3143,10 @@ HUDView::DrawNavPoint(Instruction& navpt, int index, int next) if (navpt.Status() == Instruction::COMPLETE && navpt.HoldTime() > 0) { char hold_time[32]; FormatTime(hold_time, navpt.HoldTime()); - sprintf(npt_buf, "%d %s", index, hold_time); + sprintf_s(npt_buf, "%d %s", index, hold_time); } else { - sprintf(npt_buf, "%d", index); + sprintf_s(npt_buf, "%d", index); } DrawHUDText(TXT_NAV_PT + index, npt_buf, npt_rect, DT_LEFT); diff --git a/Stars45/Hangar.cpp b/Stars45/Hangar.cpp index b1f164d..078d7e3 100644 --- a/Stars45/Hangar.cpp +++ b/Stars45/Hangar.cpp @@ -226,7 +226,7 @@ Hangar::FinishPrep(HangarSlot* slot) } char name[64]; - sprintf(name, "%s %d", + sprintf_s(name, "%s %d", (const char*) slot->package->Name(), slot->ship->GetElementIndex()); slot->ship->SetName(name); @@ -282,9 +282,9 @@ Hangar::GetObserverName() const { static char name[64]; if (ship) - sprintf(name, "Hangar(%s)", ship->Name()); + sprintf_s(name, "Hangar(%s)", ship->Name()); else - sprintf(name, "Hangar"); + sprintf_s(name, "Hangar"); return name; } @@ -368,7 +368,7 @@ Hangar::GotoActiveFlight(int squadron, int slot_index, Element* elem, int* loado } char name[64]; - sprintf(name, "%s %d", + sprintf_s(name, "%s %d", (const char*) elem->Name(), slot->ship->GetElementIndex()); @@ -778,7 +778,7 @@ Hangar::StatusName(const HangarSlot* s) const case QUEUED: { Text state = Game::GetText("hangar.QUEUED"); char seq[8]; - sprintf(seq, " %d", s->deck->Sequence(s->slot)); + sprintf_s(seq, " %d", s->deck->Sequence(s->slot)); return state + seq; } case LOCKED: return Game::GetText("hangar.LOCKED"); diff --git a/Stars45/Instruction.cpp b/Stars45/Instruction.cpp index 73f6fcf..becd50b 100644 --- a/Stars45/Instruction.cpp +++ b/Stars45/Instruction.cpp @@ -341,77 +341,77 @@ Instruction::GetShortDescription() const switch (action) { case VECTOR: if (farcast) - sprintf(desc, Game::GetText("instr.short.farcast").data(), rgn_name.data()); + sprintf_s(desc, Game::GetText("instr.short.farcast").data(), rgn_name.data()); else - sprintf(desc, Game::GetText("instr.short.vector").data(), rgn_name.data()); + sprintf_s(desc, Game::GetText("instr.short.vector").data(), rgn_name.data()); break; case LAUNCH: - sprintf(desc, Game::GetText("instr.short.launch").data(), tgt_name.data()); + sprintf_s(desc, Game::GetText("instr.short.launch").data(), tgt_name.data()); break; case DOCK: - sprintf(desc, Game::GetText("instr.short.dock").data(), tgt_name.data()); + sprintf_s(desc, Game::GetText("instr.short.dock").data(), tgt_name.data()); break; case RTB: - sprintf(desc, Game::GetText("instr.short.return-to-base").data()); + sprintf_s(desc, Game::GetText("instr.short.return-to-base").data()); break; case DEFEND: if (priority == PRIMARY) { - sprintf(desc, Game::GetText("instr.short.defend").data(), ActionName(action), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.short.defend").data(), ActionName(action), tgt_desc.data()); } else { - sprintf(desc, Game::GetText("instr.short.protect").data(), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.short.protect").data(), tgt_desc.data()); } break; case ESCORT: if (priority == PRIMARY) { - sprintf(desc, Game::GetText("instr.short.escort").data(), ActionName(action), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.short.escort").data(), ActionName(action), tgt_desc.data()); } else { - sprintf(desc, Game::GetText("instr.short.protect").data(), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.short.protect").data(), tgt_desc.data()); } break; case PATROL: - sprintf(desc, Game::GetText("instr.short.patrol").data(), + sprintf_s(desc, Game::GetText("instr.short.patrol").data(), tgt_desc.data(), rgn_name.data()); break; case SWEEP: - sprintf(desc, Game::GetText("instr.short.sweep").data(), + sprintf_s(desc, Game::GetText("instr.short.sweep").data(), tgt_desc.data(), rgn_name.data()); break; case INTERCEPT: - sprintf(desc, Game::GetText("instr.short.intercept").data(), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.short.intercept").data(), tgt_desc.data()); break; case STRIKE: - sprintf(desc, Game::GetText("instr.short.strike").data(), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.short.strike").data(), tgt_desc.data()); break; case ASSAULT: - sprintf(desc, Game::GetText("instr.short.assault").data(), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.short.assault").data(), tgt_desc.data()); break; case RECON: - sprintf(desc, Game::GetText("instr.short.recon").data(), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.short.recon").data(), tgt_desc.data()); break; default: - sprintf(desc, "%s", ActionName(action)); + sprintf_s(desc, "%s", ActionName(action)); break; } if (status != PENDING) { - strcat(desc, " - "); - strcat(desc, Game::GetText(StatusName(status))); + strcat_s(desc, " - "); + strcat_s(desc, Game::GetText(StatusName(status))); } return desc; @@ -427,77 +427,77 @@ Instruction::GetDescription() const switch (action) { case VECTOR: if (farcast) - sprintf(desc, Game::GetText("instr.long.farcast").data(), rgn_name.data()); + sprintf_s(desc, Game::GetText("instr.long.farcast").data(), rgn_name.data()); else - sprintf(desc, Game::GetText("instr.long.vector").data(), rgn_name.data()); + sprintf_s(desc, Game::GetText("instr.long.vector").data(), rgn_name.data()); break; case LAUNCH: - sprintf(desc, Game::GetText("instr.long.launch").data(), tgt_name.data()); + sprintf_s(desc, Game::GetText("instr.long.launch").data(), tgt_name.data()); break; case DOCK: - sprintf(desc, Game::GetText("instr.long.dock").data(), tgt_name.data()); + sprintf_s(desc, Game::GetText("instr.long.dock").data(), tgt_name.data()); break; case RTB: - sprintf(desc, Game::GetText("instr.long.return-to-base").data()); + sprintf_s(desc, Game::GetText("instr.long.return-to-base").data()); break; case DEFEND: if (priority == PRIMARY) { - sprintf(desc, Game::GetText("instr.long.defend").data(), ActionName(action), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.long.defend").data(), ActionName(action), tgt_desc.data()); } else { - sprintf(desc, Game::GetText("instr.long.protect").data(), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.long.protect").data(), tgt_desc.data()); } break; case ESCORT: if (priority == PRIMARY) { - sprintf(desc, Game::GetText("instr.long.escort").data(), ActionName(action), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.long.escort").data(), ActionName(action), tgt_desc.data()); } else { - sprintf(desc, Game::GetText("instr.long.protect").data(), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.long.protect").data(), tgt_desc.data()); } break; case PATROL: - sprintf(desc, Game::GetText("instr.long.patrol").data(), + sprintf_s(desc, Game::GetText("instr.long.patrol").data(), tgt_desc.data(), rgn_name.data()); break; case SWEEP: - sprintf(desc, Game::GetText("instr.long.sweep").data(), + sprintf_s(desc, Game::GetText("instr.long.sweep").data(), tgt_desc.data(), rgn_name.data()); break; case INTERCEPT: - sprintf(desc, Game::GetText("instr.long.intercept").data(), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.long.intercept").data(), tgt_desc.data()); break; case STRIKE: - sprintf(desc, Game::GetText("instr.long.strike").data(), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.long.strike").data(), tgt_desc.data()); break; case ASSAULT: - sprintf(desc, Game::GetText("instr.long.assault").data(), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.long.assault").data(), tgt_desc.data()); break; case RECON: - sprintf(desc, Game::GetText("instr.long.recon").data(), tgt_desc.data()); + sprintf_s(desc, Game::GetText("instr.long.recon").data(), tgt_desc.data()); break; default: - sprintf(desc, "%s", ActionName(action)); + sprintf_s(desc, "%s", ActionName(action)); break; } if (status != PENDING) { - strcat(desc, " - "); - strcat(desc, Game::GetText(StatusName(status))); + strcat_s(desc, " - "); + strcat_s(desc, Game::GetText(StatusName(status))); } return desc; diff --git a/Stars45/Intel.cpp b/Stars45/Intel.cpp index 172f2e1..6586ad2 100644 --- a/Stars45/Intel.cpp +++ b/Stars45/Intel.cpp @@ -39,7 +39,7 @@ int Intel::IntelFromName(const char* type_name) { for (int i = RESERVE; i <= TRACKED; i++) - if (!stricmp(type_name, intel_name[i])) + if (!_stricmp(type_name, intel_name[i])) return i; return 0; diff --git a/Stars45/KeyMap.cpp b/Stars45/KeyMap.cpp index df7e0f6..d671b21 100644 --- a/Stars45/KeyMap.cpp +++ b/Stars45/KeyMap.cpp @@ -330,7 +330,7 @@ int KeyMap::GetKeyAction(const char* act_str) int nactions = sizeof(key_action_table) / sizeof(KeyName); for (int i = 0; i < nactions; i++) - if (!stricmp(act_str, key_action_table[i].name)) + if (!_stricmp(act_str, key_action_table[i].name)) return key_action_table[i].key; return -1; @@ -357,14 +357,14 @@ int KeyMap::GetKeyKey(const char* key_str) if (*key_str == '=') { int value = 0; - sscanf(key_str, "=%d", &value); + sscanf_s(key_str, "=%d", &value); return value; } int nkeys = sizeof(key_key_table) / sizeof(KeyName); for (int i = 0; i < nkeys; i++) - if (!stricmp(key_str, key_key_table[i].name)) + if (!_stricmp(key_str, key_key_table[i].name)) return key_key_table[i].key; return 0; @@ -575,7 +575,9 @@ KeyMap::Bind(int a, int k, int s) int KeyMap::LoadKeyMap(const char* filename, int max_keys) { - FILE* f = fopen(filename, "r"); + FILE* f; + fopen_s(&f, filename, "r"); + if (!f) return nkeys; char line[256]; @@ -589,7 +591,7 @@ KeyMap::LoadKeyMap(const char* filename, int max_keys) ZeroMemory(alt_str, sizeof(alt_str)); ZeroMemory(joy_str, sizeof(joy_str)); - sscanf(line, "%s %s %s %s", act_str, key_str, alt_str, joy_str); + sscanf_s(line, "%s %s %s %s", act_str, key_str, alt_str, joy_str); act = GetKeyAction(act_str); key = GetKeyKey(key_str); @@ -634,7 +636,8 @@ KeyMap::LoadKeyMap(const char* filename, int max_keys) int KeyMap::SaveKeyMap(const char* filename, int max_keys) { - FILE* f = fopen(filename, "w"); + FILE* f; + fopen_s(&f, filename, "w"); if (!f) return 0; for (int i = 0; i < nkeys; i++) { @@ -788,24 +791,24 @@ KeyMap::DescribeKey(int vk, int shift, int j) if (key) { if (alt) { - sprintf(key_desc, "%s+%s", alt, key); + sprintf_s(key_desc, "%s+%s", alt, key); } else { - strcpy(key_desc, key); + strcpy_s(key_desc, key); } if (joy) { - strcat(key_desc, ", "); - strcat(key_desc, joy); + strcat_s(key_desc, ", "); + strcat_s(key_desc, joy); } } else if (joy) { - strcpy(key_desc, joy); + strcpy_s(key_desc, joy); } else { - sprintf(key_desc, "%d", vk); + sprintf_s(key_desc, "%d", vk); } return key_desc; diff --git a/Stars45/MapView.cpp b/Stars45/MapView.cpp index 81276df..5463e39 100644 --- a/Stars45/MapView.cpp +++ b/Stars45/MapView.cpp @@ -892,7 +892,7 @@ MapView::SetSelection(int index) if (selected_elem && regions.size()) { ListIter rgn = regions; while (++rgn) { - if (!stricmp(selected_elem->Region(), rgn->Name())) { + if (!_stricmp(selected_elem->Region(), rgn->Name())) { Orbital* elem_region = rgn.value(); current_region = regions.index(elem_region); } @@ -948,7 +948,7 @@ MapView::SetSelection(int index) if (selected_elem && regions.size()) { ListIter rgn = regions; while (++rgn) { - if (!stricmp(selected_elem->Region(), rgn->Name())) { + if (!_stricmp(selected_elem->Region(), rgn->Name())) { Orbital* elem_region = rgn.value(); current_region = regions.index(elem_region); } @@ -1004,7 +1004,7 @@ MapView::SetSelection(int index) if (selected_elem && regions.size()) { ListIter rgn = regions; while (++rgn) { - if (!stricmp(selected_elem->Region(), rgn->Name())) { + if (!_stricmp(selected_elem->Region(), rgn->Name())) { Orbital* elem_region = rgn.value(); current_region = regions.index(elem_region); } @@ -1387,7 +1387,7 @@ MapView::SelectAt(int x, int y) while (++navpt) { Instruction* n = navpt.value(); - if (!stricmp(n->RegionName(), rgn->Name())) { + if (!_stricmp(n->RegionName(), rgn->Name())) { Point nloc = n->Location(); double dx = nloc.x - test_x; double dy = nloc.y - test_y; @@ -1456,7 +1456,7 @@ MapView::SelectAt(int x, int y) while (++navpt) { Instruction* n = navpt.value(); - if (!stricmp(n->RegionName(), rgn->Name())) { + if (!_stricmp(n->RegionName(), rgn->Name())) { Point nloc = n->Location(); double dx = nloc.x - test_x; double dy = nloc.y - test_y; @@ -1884,7 +1884,7 @@ MapView::DrawSystem() char r_txt[32]; FormatNumber(r_txt, system->Radius() * zoom); char resolution[64]; - sprintf(resolution, "%s: %s", Game::GetText("MapView.info.Resolution").data(), r_txt); + sprintf_s(resolution, "%s: %s", Game::GetText("MapView.info.Resolution").data(), r_txt); active_window->SetFont(font); active_window->DrawText(resolution, -1, Rect(4, 4, rect.w-8, 24), DT_SINGLELINE|DT_RIGHT); @@ -2057,7 +2057,7 @@ MapView::DrawRegion() char r_txt[32]; FormatNumber(r_txt, r*2); char resolution[64]; - sprintf(resolution, "%s: %s", Game::GetText("MapView.info.Resolution").data(), r_txt); + sprintf_s(resolution, "%s: %s", Game::GetText("MapView.info.Resolution").data(), r_txt); active_window->SetFont(font); active_window->DrawText(resolution, -1, Rect(4, 4, rect.w-8, 24), DT_SINGLELINE|DT_RIGHT); @@ -2434,7 +2434,7 @@ MapView::DrawElem(MissionElement& s, bool current, int rep) window->SetFont(font); // draw ship icon: - if (!stricmp(s.Region(), rgn->Name())) { + if (!_stricmp(s.Region(), rgn->Name())) { double sx = (s.Location().x + rlx) * scale; double sy = (s.Location().y + rly) * scale; @@ -2504,9 +2504,9 @@ MapView::DrawElem(MissionElement& s, bool current, int rep) char label[64]; if (s.Count() > 1) - sprintf(label, "%s x %d", (const char*) s.Name(), s.Count()); + sprintf_s(label, "%s x %d", (const char*) s.Name(), s.Count()); else - strcpy(label, (const char*) s.Name()); + strcpy_s(label, (const char*) s.Name()); window->Print(shiploc.x-sprite_width, shiploc.y+sprite_width+2, label); } @@ -2582,7 +2582,7 @@ MissionElement* elem) for (int i = 0; i < s_route.size(); i++) { Instruction* navpt = s_route[i]; - if (!stricmp(navpt->RegionName(), rgn->Name())) { + if (!_stricmp(navpt->RegionName(), rgn->Name())) { double nav_x = navpt->Location().x * scale; double nav_y = navpt->Location().y * scale; @@ -2645,31 +2645,31 @@ MissionElement* elem) window->DrawRect(x1-2, y1-2, x2+2, y2+2, c); char buf[256]; - sprintf(buf, "%d", i+1); + sprintf_s(buf, "%d", i+1); window->SetFont(font); window->Print(x2+3, y1, buf); if (navpt == current_navpt) { if (navpt->TargetName() && strlen(navpt->TargetName())) { - sprintf(buf, "%s %s", Game::GetText(Text("MapView.item.") + Instruction::ActionName(navpt->Action())).data(), navpt->TargetName()); + sprintf_s(buf, "%s %s", Game::GetText(Text("MapView.item.") + Instruction::ActionName(navpt->Action())).data(), navpt->TargetName()); window->Print(x2+3, y1+10, buf); } else { - sprintf(buf, "%s", Game::GetText(Text("MapView.item.") + Instruction::ActionName(navpt->Action())).data()); + sprintf_s(buf, "%s", Game::GetText(Text("MapView.item.") + Instruction::ActionName(navpt->Action())).data()); window->Print(x2+3, y1+10, buf); } - sprintf(buf, "%s", Game::GetText(Text("MapView.item.") + Instruction::FormationName(navpt->Formation())).data()); + sprintf_s(buf, "%s", Game::GetText(Text("MapView.item.") + Instruction::FormationName(navpt->Formation())).data()); window->Print(x2+3, y1+20, buf); - sprintf(buf, "%d", navpt->Speed()); + sprintf_s(buf, "%d", navpt->Speed()); window->Print(x2+3, y1+30, buf); if (navpt->HoldTime()) { char hold_time[32]; FormatTime(hold_time, navpt->HoldTime()); - sprintf(buf, "%s %s", Game::GetText("MapView.item.Hold").data(), hold_time); + sprintf_s(buf, "%s %s", Game::GetText("MapView.item.Hold").data(), hold_time); window->Print(x2+3, y1+40, buf); } } @@ -2798,7 +2798,7 @@ MapView::DrawCombatGroupSystem(CombatGroup* group, Orbital* rgn, int x1, int x2, case CombatGroup::CARRIER_GROUP: case CombatGroup::BATTLE_GROUP: case CombatGroup::DESTROYER_SQUADRON: - sprintf(txt, "%s '%s'", group->GetShortDescription(), group->Name().data()); + sprintf_s(txt, "%s '%s'", group->GetShortDescription(), group->Name().data()); active_window->SetFont(font); active_window->DrawText(txt, 0, Rect(x1, y, x2-x1, 12), a); y += 10; @@ -2900,7 +2900,7 @@ MapView::DrawCombatGroup(CombatGroup* group, int rep) sprite_width = 2; char buf[256]; - sprintf(buf, "%s", unit->Name().data()); + sprintf_s(buf, "%s", unit->Name().data()); window->SetFont(font); window->Print(shiploc.x-sprite_width, shiploc.y+sprite_width+2, buf); } @@ -2947,7 +2947,7 @@ MapView::DrawCombatGroup(CombatGroup* group, int rep) } char label[128]; - strcpy(label, unit->GetDescription()); + strcpy_s(label, unit->GetDescription()); window->SetFont(font); window->Print(shiploc.x-sprite_width, shiploc.y+sprite_width+2, label); } @@ -3089,7 +3089,7 @@ MapView::IsCrowded(MissionElement& test) while (++s) { MissionElement* ref = s.value(); - if (ref && ref != &test && !stricmp(ref->Region(), rgn->Name())) { + if (ref && ref != &test && !_stricmp(ref->Region(), rgn->Name())) { GetElemLoc(*ref, refloc); double dx = testloc.x - refloc.x; @@ -3139,7 +3139,7 @@ MapView::GetElemLoc(MissionElement& s, POINT& shiploc) } if (view_mode == VIEW_SYSTEM || - (view_mode == VIEW_REGION && !stricmp(s.Region(), rgn->Name()))) { + (view_mode == VIEW_REGION && !_stricmp(s.Region(), rgn->Name()))) { double sx = (s.Location().x + rlx) * scale; double sy = (s.Location().y + rly) * scale; diff --git a/Stars45/Mfd.cpp b/Stars45/Mfd.cpp index 89e3462..d701e03 100644 --- a/Stars45/Mfd.cpp +++ b/Stars45/Mfd.cpp @@ -327,12 +327,12 @@ MFD::DrawSensorLabels(const char* mfd_mode) int scan_y = rect.y; switch (sensor->GetMode()) { - case Sensor::PAS: strcpy(mode_buf, Game::GetText("MFD.mode.passive").data()); break; - case Sensor::STD: strcpy(mode_buf, Game::GetText("MFD.mode.standard").data()); break; - case Sensor::ACM: strcpy(mode_buf, Game::GetText("MFD.mode.auto-combat").data()); break; - case Sensor::GM: strcpy(mode_buf, Game::GetText("MFD.mode.ground").data()); break; - case Sensor::PST: strcpy(mode_buf, Game::GetText("MFD.mode.passive").data()); break; - case Sensor::CST: strcpy(mode_buf, Game::GetText("MFD.mode.combined").data()); break; + case Sensor::PAS: strcpy_s(mode_buf, Game::GetText("MFD.mode.passive").data()); break; + case Sensor::STD: strcpy_s(mode_buf, Game::GetText("MFD.mode.standard").data()); break; + case Sensor::ACM: strcpy_s(mode_buf, Game::GetText("MFD.mode.auto-combat").data()); break; + case Sensor::GM: strcpy_s(mode_buf, Game::GetText("MFD.mode.ground").data()); break; + case Sensor::PST: strcpy_s(mode_buf, Game::GetText("MFD.mode.passive").data()); break; + case Sensor::CST: strcpy_s(mode_buf, Game::GetText("MFD.mode.combined").data()); break; default: break; } @@ -342,9 +342,9 @@ MFD::DrawSensorLabels(const char* mfd_mode) char range_txt[12]; double beam_range = sensor->GetBeamRange() + 1; if (beam_range >= 1e6) - sprintf(range_txt, "-%dM+", (int) (beam_range / 1e6)); + sprintf_s(range_txt, "-%dM+", (int) (beam_range / 1e6)); else - sprintf(range_txt, "-%3d+", (int) (beam_range / 1e3)); + sprintf_s(range_txt, "-%3d+", (int) (beam_range / 1e3)); Rect range_rect(scan_x+2, scan_y+scan_r-12, 40, 12); DrawMFDText(1, range_txt, range_rect, DT_LEFT); @@ -356,7 +356,7 @@ MFD::DrawSensorLabels(const char* mfd_mode) if (ship->GetProbeLauncher()) { char probes[32]; - sprintf(probes, "%s %02d", Game::GetText("MFD.probe").data(), ship->GetProbeLauncher()->Ammo()); + sprintf_s(probes, "%s %02d", Game::GetText("MFD.probe").data(), ship->GetProbeLauncher()->Ammo()); DrawMFDText(3, probes, probe_rect, DT_RIGHT); } else { @@ -451,7 +451,7 @@ MFD::DrawSensorMFD() } else { char az_txt[8]; - sprintf(az_txt, "%d", (int) (sensor->GetBeamLimit() / DEGREES)); + sprintf_s(az_txt, "%d", (int) (sensor->GetBeamLimit() / DEGREES)); Rect az_rect(scan_x+2, scan_y+scan_r-12, 32, 12); DrawMFDText(1, az_txt, az_rect, DT_LEFT); @@ -1086,14 +1086,14 @@ MFD::DrawGameMFD() int t = 0; if (!HUDView::IsArcade() && HUDView::ShowFPS()) { - sprintf(txt, "FPS: %6.2f", Game::FrameRate()); + sprintf_s(txt, "FPS: %6.2f", Game::FrameRate()); DrawMFDText(t++, txt, txt_rect, DT_LEFT); txt_rect.y += 10; if (lines <= 1) return; Starshatter* game = Starshatter::GetInstance(); - sprintf(txt, "Polys: %d", game->GetPolyStats().npolys); + sprintf_s(txt, "Polys: %d", game->GetPolyStats().npolys); DrawMFDText(t++, txt, txt_rect, DT_LEFT); txt_rect.y += 10; } @@ -1118,9 +1118,9 @@ MFD::DrawGameMFD() } if (Game::TimeCompression() > 1) - sprintf(txt, "%02d:%02d:%02d x%d", hours, minutes, seconds, Game::TimeCompression()); + sprintf_s(txt, "%02d:%02d:%02d x%d", hours, minutes, seconds, Game::TimeCompression()); else - sprintf(txt, "%02d:%02d:%02d", hours, minutes, seconds); + sprintf_s(txt, "%02d:%02d:%02d", hours, minutes, seconds); DrawMFDText(t++, txt, txt_rect, DT_LEFT); txt_rect.y += 10; @@ -1229,9 +1229,9 @@ MFD::DrawStatusMFD() char ammo[8]; if (ship->GetSecondaryGroup() == w) - sprintf(ammo, "%d *", w->Ammo()); + sprintf_s(ammo, "%d *", w->Ammo()); else - sprintf(ammo, "%d", w->Ammo()); + sprintf_s(ammo, "%d", w->Ammo()); DrawMFDText(row++, (const char*) w->GetDesign()->name, status_rect, DT_LEFT); status_rect.x += 70; @@ -1243,7 +1243,7 @@ MFD::DrawStatusMFD() if (ship->GetDecoy()) { char ammo[8]; - sprintf(ammo, "%d", ship->GetDecoy()->Ammo()); + sprintf_s(ammo, "%d", ship->GetDecoy()->Ammo()); DrawMFDText(row++, Game::GetText("MFD.status.DECOY").data(), status_rect, DT_LEFT); status_rect.x += 70; DrawMFDText(row++, ammo, status_rect, DT_LEFT); @@ -1253,7 +1253,7 @@ MFD::DrawStatusMFD() if (NetGame::GetInstance()) { char lives[8]; - sprintf(lives, "%d", ship->RespawnCount() + 1); + sprintf_s(lives, "%d", ship->RespawnCount() + 1); DrawMFDText(row++, Game::GetText("MFD.status.LIVES").data(), status_rect, DT_LEFT); status_rect.x += 70; DrawMFDText(row++, lives, status_rect, DT_LEFT); @@ -1278,11 +1278,11 @@ MFD::DrawStatusMFD() DrawMFDText(row++, Game::GetText("MFD.status.EMCON").data(), status_rect, DT_LEFT); status_rect.x += 70; - sprintf(txt, "%s %d", Game::GetText("MFD.status.MODE").data(), ship->GetEMCON()); + sprintf_s(txt, "%s %d", Game::GetText("MFD.status.MODE").data(), ship->GetEMCON()); if (!sensor->IsPowerOn() || sensor->GetEnergy() == 0) { if (!Game::Paused() && (Game::RealTime()/1000) & 2) - strcpy(txt, Game::GetText("MFD.status.SENSOR-OFF").data()); + strcpy_s(txt, Game::GetText("MFD.status.SENSOR-OFF").data()); } DrawMFDText(row++, txt, status_rect, DT_LEFT); @@ -1299,7 +1299,7 @@ MFD::DrawStatusMFD() if (NetGame::GetInstance()) { char lives[8]; - sprintf(lives, "%d", ship->RespawnCount() + 1); + sprintf_s(lives, "%d", ship->RespawnCount() + 1); status_rect.x -= 70; status_rect.y += 10; DrawMFDText(row++, Game::GetText("MFD.status.LIVES").data(), status_rect, DT_LEFT); diff --git a/Stars45/Mission.cpp b/Stars45/Mission.cpp index 2baa405..a43a345 100644 --- a/Stars45/Mission.cpp +++ b/Stars45/Mission.cpp @@ -43,14 +43,14 @@ current(0), degrees(false) sitrep = Game::GetText("Mission.unknown"); if (fname) - strcpy(filename, fname); + strcpy_s(filename, fname); else ZeroMemory(filename, sizeof(filename)); if (pname) - strcpy(path, pname); + strcpy_s(path, pname); else - strcpy(path, "Missions/"); + strcpy_s(path, "Missions/"); } Mission::~Mission() @@ -226,10 +226,10 @@ Mission::Load(const char* fname, const char* pname) ok = false; if (fname) - strcpy(filename, fname); + strcpy_s(filename, fname); if (pname) - strcpy(path, pname); + strcpy_s(path, pname); if (!filename[0]) { Print("\nCan't Load Mission, script unspecified.\n"); @@ -273,14 +273,14 @@ Mission::ParseMission(const char* block) char err[256]; if (!term) { - sprintf(err, "ERROR: could not parse '%s'\n", filename); + sprintf_s(err, "ERROR: could not parse '%s'\n", filename); AddError(err); return ok; } else { TermText* file_type = term->isText(); if (!file_type || file_type->value() != "MISSION") { - sprintf(err, "ERROR: invalid mission file '%s'\n", filename); + sprintf_s(err, "ERROR: invalid mission file '%s'\n", filename); AddError(err); term->print(10); return ok; @@ -385,7 +385,7 @@ Mission::ParseMission(const char* block) (defname == "station")) { if (!def->term() || !def->term()->isStruct()) { - sprintf(err, "ERROR: element struct missing in '%s'\n", filename); + sprintf_s(err, "ERROR: element struct missing in '%s'\n", filename); AddError(err); } else { @@ -397,7 +397,7 @@ Mission::ParseMission(const char* block) else if (defname == "event") { if (!def->term() || !def->term()->isStruct()) { - sprintf(err, "ERROR: event struct missing in '%s'\n", filename); + sprintf_s(err, "ERROR: event struct missing in '%s'\n", filename); AddError(err); } else { @@ -441,18 +441,19 @@ Mission::Save() return ok; } - if (!stricmp(path, "mods/missions/")) { + if (!_stricmp(path, "mods/missions/")) { CreateDirectory("Mods", 0); CreateDirectory("Mods/Missions", 0); } - else if (!stricmp(path, "multiplayer/")) { + else if (!_stricmp(path, "multiplayer/")) { CreateDirectory("Multiplayer", 0); } char fname[256]; - sprintf(fname, "%s%s", path, filename); - FILE* f = fopen(fname, "w"); + sprintf_s(fname, "%s%s", path, filename); + FILE* f; + fopen_s(&f, fname, "w"); if (f) { fwrite(content.data(), content.length(), 1, f); fclose(f); @@ -471,7 +472,7 @@ Mission::Validate() ok = true; if (elements.isEmpty()) { - sprintf(err, Game::GetText("Mission.error.no-elem").data(), filename); + sprintf_s(err, Game::GetText("Mission.error.no-elem").data(), filename); AddError(err); } else { @@ -481,7 +482,7 @@ Mission::Validate() MissionElement* elem = elements.at(i); if (elem->Name().length() < 1) { - sprintf(err, Game::GetText("Mission.error.unnamed-elem").data(), filename); + sprintf_s(err, Game::GetText("Mission.error.unnamed-elem").data(), filename); AddError(err); } @@ -490,14 +491,14 @@ Mission::Validate() found_player = true; if (elem->Region() != GetRegion()) { - sprintf(err, Game::GetText("Mission.error.wrong-sector").data(), + sprintf_s(err, Game::GetText("Mission.error.wrong-sector").data(), elem->Name().data(), GetRegion()); AddError(err); } } else { - sprintf(err, Game::GetText("Mission.error.extra-player").data(), + sprintf_s(err, Game::GetText("Mission.error.extra-player").data(), elem->Name().data(), filename); AddError(err); @@ -506,7 +507,7 @@ Mission::Validate() } if (!found_player) { - sprintf(err, Game::GetText("Mission.error.no-player").data(), filename); + sprintf_s(err, Game::GetText("Mission.error.no-player").data(), filename); AddError(err); } } @@ -523,7 +524,7 @@ Mission::AddError(Text err) // +--------------------------------------------------------------------+ -#define MSN_CHECK(x) if (!stricmp(n, #x)) result = Mission::x; +#define MSN_CHECK(x) if (!_stricmp(n, #x)) result = Mission::x; int Mission::TypeFromName(const char* n) @@ -557,7 +558,7 @@ Mission::TypeFromName(const char* n) if (result < PATROL) { for (int i = PATROL; i <= OTHER && result < PATROL; i++) { - if (!stricmp(n, RoleName(i))) { + if (!_stricmp(n, RoleName(i))) { result = i; } } @@ -611,14 +612,14 @@ Mission::ParseElement(TermStruct* val) element->design = ShipDesign::Get(design, element->path); if (!element->design) { - sprintf(err, Game::GetText("Mission.error.unknown-ship").data(), design.data(), filename); + sprintf_s(err, Game::GetText("Mission.error.unknown-ship").data(), design.data(), filename); AddError(err); } } else if (defname == "skin") { if (!element->design) { - sprintf(err, Game::GetText("Mission.error.out-of-order").data(), filename); + sprintf_s(err, Game::GetText("Mission.error.out-of-order").data(), filename); AddError(err); } @@ -628,7 +629,7 @@ Mission::ParseElement(TermStruct* val) } else if (pdef->term()->isStruct()) { - sprintf(err, Game::GetText("Mission.error.bad-skin").data(), filename); + sprintf_s(err, Game::GetText("Mission.error.bad-skin").data(), filename); AddError(err); } } @@ -724,7 +725,7 @@ Mission::ParseElement(TermStruct* val) else if (defname == "objective") { if (!pdef->term() || !pdef->term()->isStruct()) { - sprintf(err, Game::GetText("Mission.error.no-objective").data(), element->name.data(), filename); + sprintf_s(err, Game::GetText("Mission.error.no-objective").data(), element->name.data(), filename); AddError(err); } else { @@ -744,7 +745,7 @@ Mission::ParseElement(TermStruct* val) else if (defname == "ship") { if (!pdef->term() || !pdef->term()->isStruct()) { - sprintf(err, Game::GetText("Mission.error.no-ship").data(), element->name.data(), filename); + sprintf_s(err, Game::GetText("Mission.error.no-ship").data(), element->name.data(), filename); AddError(err); } else { @@ -759,7 +760,7 @@ Mission::ParseElement(TermStruct* val) else if (defname == "order" || defname == "navpt") { if (!pdef->term() || !pdef->term()->isStruct()) { - sprintf(err, Game::GetText("Mission.error.no-navpt").data(), element->name.data(), filename); + sprintf_s(err, Game::GetText("Mission.error.no-navpt").data(), element->name.data(), filename); AddError(err); } else { @@ -771,7 +772,7 @@ Mission::ParseElement(TermStruct* val) else if (defname == "loadout") { if (!pdef->term() || !pdef->term()->isStruct()) { - sprintf(err, Game::GetText("Mission.error.no-loadout").data(), element->name.data(), filename); + sprintf_s(err, Game::GetText("Mission.error.no-loadout").data(), element->name.data(), filename); AddError(err); } else { @@ -783,12 +784,12 @@ Mission::ParseElement(TermStruct* val) } if (element->name.length() < 1) { - sprintf(err, Game::GetText("Mission.error.unnamed-elem").data(), filename); + sprintf_s(err, Game::GetText("Mission.error.unnamed-elem").data(), filename); AddError(err); } else if (element->design == 0) { - sprintf(err, Game::GetText("Mission.error.unknown-ship").data(), element->name.data(), filename); + sprintf_s(err, Game::GetText("Mission.error.unknown-ship").data(), element->name.data(), filename); AddError(err); } @@ -948,7 +949,7 @@ Mission::ParseShip(TermStruct* val, MissionElement* element) else if (defname == "skin") { if (!element || !element->design) { - sprintf(err, Game::GetText("Mission.error.out-of-order").data(), filename); + sprintf_s(err, Game::GetText("Mission.error.out-of-order").data(), filename); AddError(err); } @@ -958,7 +959,7 @@ Mission::ParseShip(TermStruct* val, MissionElement* element) } else if (pdef->term()->isStruct()) { - sprintf(err, Game::GetText("Mission.error.bad-skin").data(), filename); + sprintf_s(err, Game::GetText("Mission.error.bad-skin").data(), filename); AddError(err); } } @@ -1059,7 +1060,7 @@ Mission::ParseInstruction(TermStruct* val, MissionElement* element) GetDefText(order_name, pdef, filename); for (int cmd = 0; cmd < Instruction::NUM_ACTIONS; cmd++) - if (!stricmp(order_name, Instruction::ActionName(cmd))) + if (!_stricmp(order_name, Instruction::ActionName(cmd))) order = cmd; } @@ -1067,7 +1068,7 @@ Mission::ParseInstruction(TermStruct* val, MissionElement* element) GetDefText(status_name, pdef, filename); for (int n = 0; n < Instruction::NUM_STATUS; n++) - if (!stricmp(status_name, Instruction::StatusName(n))) + if (!_stricmp(status_name, Instruction::StatusName(n))) status = n; } @@ -1376,7 +1377,7 @@ Mission::Serialize(const char* player_elem, int player_index) MissionElement* e = iter.value(); if (e->Name() == player_elem) { char buf[32]; - sprintf(buf, "team: %d\n", e->GetIFF()); + sprintf_s(buf, "team: %d\n", e->GetIFF()); s += buf; s += "region: \""; @@ -1471,31 +1472,31 @@ Mission::Serialize(const char* player_elem, int player_index) s += "\"\n"; } - sprintf(buffer, " count: %d\n", elem->Count()); + sprintf_s(buffer, " count: %d\n", elem->Count()); s += buffer; if (elem->MaintCount()) { - sprintf(buffer, " maint_count: %d\n", elem->MaintCount()); + sprintf_s(buffer, " maint_count: %d\n", elem->MaintCount()); s += buffer; } if (elem->DeadCount()) { - sprintf(buffer, " dead_count: %d\n", elem->DeadCount()); + sprintf_s(buffer, " dead_count: %d\n", elem->DeadCount()); s += buffer; } if (elem->RespawnCount()) { - sprintf(buffer, " respawn_count: %d\n", elem->RespawnCount()); + sprintf_s(buffer, " respawn_count: %d\n", elem->RespawnCount()); s += buffer; } if (elem->HoldTime()) { - sprintf(buffer, " hold_time: %d\n", elem->HoldTime()); + sprintf_s(buffer, " hold_time: %d\n", elem->HoldTime()); s += buffer; } if (elem->ZoneLock()) { - sprintf(buffer, " zone_lock: %d\n", elem->ZoneLock()); + sprintf_s(buffer, " zone_lock: %d\n", elem->ZoneLock()); s += buffer; } @@ -1504,11 +1505,11 @@ Mission::Serialize(const char* player_elem, int player_index) } if (!elem->IsSquadron()) { - sprintf(buffer, " command_ai:%d\n", elem->CommandAI()); + sprintf_s(buffer, " command_ai:%d\n", elem->CommandAI()); s += buffer; } - sprintf(buffer, " iff: %d\n", elem->GetIFF()); + sprintf_s(buffer, " iff: %d\n", elem->GetIFF()); s += buffer; if (player_elem) { @@ -1516,14 +1517,14 @@ Mission::Serialize(const char* player_elem, int player_index) if (player_index < 1) player_index = 1; - sprintf(buffer, " player: %d\n", player_index); + sprintf_s(buffer, " player: %d\n", player_index); s += buffer; } } else { if (elem->Player()) { - sprintf(buffer, " player: %d\n", elem->Player()); + sprintf_s(buffer, " player: %d\n", elem->Player()); s += buffer; } } @@ -1540,14 +1541,14 @@ Mission::Serialize(const char* player_elem, int player_index) s += elem->Region(); s += "\"\n"; - sprintf(buffer, " loc: (%.0f, %.0f, %.0f)\n", + sprintf_s(buffer, " loc: (%.0f, %.0f, %.0f)\n", elem->Location().x, elem->Location().y, elem->Location().z); s += buffer; if (elem->Heading() != 0) { - sprintf(buffer, " head: %d\n", (int) (elem->Heading()/DEGREES)); + sprintf_s(buffer, " head: %d\n", (int) (elem->Heading()/DEGREES)); s += buffer; } @@ -1558,7 +1559,7 @@ Mission::Serialize(const char* player_elem, int player_index) while (++load_iter) { MissionLoad* load = load_iter.value(); - sprintf(buffer, " loadout: { ship: %d, ", load->GetShip()); + sprintf_s(buffer, " loadout: { ship: %d, ", load->GetShip()); s += buffer; if (load->GetName().length()) { @@ -1570,7 +1571,7 @@ Mission::Serialize(const char* player_elem, int player_index) s += "stations: ("; for (int i = 0; i < 16; i++) { - sprintf(buffer, "%d", load->GetStation(i)); + sprintf_s(buffer, "%d", load->GetStation(i)); s += buffer; if (i < 15) @@ -1615,7 +1616,7 @@ Mission::Serialize(const char* player_elem, int player_index) s += "\""; } - sprintf(buffer, ", loc: (%.0f, %.0f, %.0f), speed: %d", + sprintf_s(buffer, ", loc: (%.0f, %.0f, %.0f), speed: %d", inst->Location().x, inst->Location().y, inst->Location().z, @@ -1629,7 +1630,7 @@ Mission::Serialize(const char* player_elem, int player_index) } if (inst->HoldTime()) { - sprintf(buffer, ", hold: %d", (int) inst->HoldTime()); + sprintf_s(buffer, ", hold: %d", (int) inst->HoldTime()); s += buffer; } @@ -1638,12 +1639,12 @@ Mission::Serialize(const char* player_elem, int player_index) } if (inst->Formation() > Instruction::DIAMOND) { - sprintf(buffer, ", formation: %d", (int) inst->Formation()); + sprintf_s(buffer, ", formation: %d", (int) inst->Formation()); s += buffer; } if (inst->Priority() > Instruction::PRIMARY) { - sprintf(buffer, ", priority: %d", (int) inst->Priority()); + sprintf_s(buffer, ", priority: %d", (int) inst->Priority()); s += buffer; } @@ -1688,7 +1689,7 @@ Mission::Serialize(const char* player_elem, int player_index) } if (fabs(ship->Location().x) < 1e9) { - sprintf(buffer, " loc: (%.0f, %.0f, %.0f),\n", + sprintf_s(buffer, " loc: (%.0f, %.0f, %.0f),\n", ship->Location().x, ship->Location().y, ship->Location().z); @@ -1696,7 +1697,7 @@ Mission::Serialize(const char* player_elem, int player_index) } if (fabs(ship->Velocity().x) < 1e9) { - sprintf(buffer, " velocity: (%.1f, %.1f, %.1f),\n", + sprintf_s(buffer, " velocity: (%.1f, %.1f, %.1f),\n", ship->Velocity().x, ship->Velocity().y, ship->Velocity().z); @@ -1704,27 +1705,27 @@ Mission::Serialize(const char* player_elem, int player_index) } if (ship->Respawns() > -1) { - sprintf(buffer, " respawns: %d,\n", ship->Respawns()); + sprintf_s(buffer, " respawns: %d,\n", ship->Respawns()); s += buffer; } if (ship->Heading() > -1e9) { - sprintf(buffer, " heading: %d,\n", (int) (ship->Heading()/DEGREES)); + sprintf_s(buffer, " heading: %d,\n", (int) (ship->Heading()/DEGREES)); s += buffer; } if (ship->Integrity() > -1) { - sprintf(buffer, " integrity: %d,\n", (int) ship->Integrity()); + sprintf_s(buffer, " integrity: %d,\n", (int) ship->Integrity()); s += buffer; } if (ship->Decoys() > -1) { - sprintf(buffer, " decoys: %d,\n", ship->Decoys()); + sprintf_s(buffer, " decoys: %d,\n", ship->Decoys()); s += buffer; } if (ship->Probes() > -1) { - sprintf(buffer, " probes: %d,\n", ship->Probes()); + sprintf_s(buffer, " probes: %d,\n", ship->Probes()); s += buffer; } @@ -1732,7 +1733,7 @@ Mission::Serialize(const char* player_elem, int player_index) s += "\n ammo: ("; for (int i = 0; i < 16; i++) { - sprintf(buffer, "%d", ship->Ammo()[i]); + sprintf_s(buffer, "%d", ship->Ammo()[i]); s += buffer; if (i < 15) @@ -1746,7 +1747,7 @@ Mission::Serialize(const char* player_elem, int player_index) s += "\n fuel: ("; for (int i = 0; i < 4; i++) { - sprintf(buffer, "%d", ship->Fuel()[i]); + sprintf_s(buffer, "%d", ship->Fuel()[i]); s += buffer; if (i < 3) @@ -1770,13 +1771,13 @@ Mission::Serialize(const char* player_elem, int player_index) s += "event: {\n"; s += " id: "; - sprintf(buffer, "%d", event->EventID()); + sprintf_s(buffer, "%d", event->EventID()); s += buffer; s += ",\n time: "; - sprintf(buffer, "%.1f", event->Time()); + sprintf_s(buffer, "%.1f", event->Time()); s += buffer; s += ",\n delay: "; - sprintf(buffer, "%.1f", event->Delay()); + sprintf_s(buffer, "%.1f", event->Delay()); s += buffer; s += ",\n event: "; s += event->EventName(); @@ -1813,14 +1814,14 @@ Mission::Serialize(const char* player_elem, int player_index) } if (event->EventParam()) { - sprintf(buffer, "%d", event->EventParam()); + sprintf_s(buffer, "%d", event->EventParam()); s += " event_param: "; s += buffer; s += "\n"; } if (event->EventChance()) { - sprintf(buffer, "%d", event->EventChance()); + sprintf_s(buffer, "%d", event->EventChance()); s += " event_chance: "; s += buffer; s += "\n"; @@ -1895,7 +1896,7 @@ MissionElement::GetShipName(int index) const if (index < 0 || index >= ships.size()) { if (count > 1) { char sname[256]; - sprintf(sname, "%s %d", (const char*) name, index+1); + sprintf_s(sname, "%s %d", (const char*) name, index+1); return sname; } else { diff --git a/Stars45/MissionEvent.cpp b/Stars45/MissionEvent.cpp index 5b6da43..3b2333e 100644 --- a/Stars45/MissionEvent.cpp +++ b/Stars45/MissionEvent.cpp @@ -731,7 +731,7 @@ MissionEvent::TriggerParamStr() const } else if (trigger_param[1] == 0) { - sprintf(buffer, "%d", trigger_param[0]); + sprintf_s(buffer, "%d", trigger_param[0]); result = buffer; } @@ -743,9 +743,9 @@ MissionEvent::TriggerParamStr() const break; if (i < 7 && trigger_param[i+1] != 0) - sprintf(buffer, "%d, ", trigger_param[i]); + sprintf_s(buffer, "%d, ", trigger_param[i]); else - sprintf(buffer, "%d", trigger_param[i]); + sprintf_s(buffer, "%d", trigger_param[i]); result += buffer; } @@ -845,7 +845,7 @@ int MissionEvent::EventForName(const char* n) { for (int i = 0; i < NUM_EVENTS; i++) - if (!stricmp(n, event_names[i])) + if (!_stricmp(n, event_names[i])) return i; return 0; @@ -867,7 +867,7 @@ int MissionEvent::TriggerForName(const char* n) { for (int i = 0; i < NUM_TRIGGERS; i++) - if (!stricmp(n, trigger_names[i])) + if (!_stricmp(n, trigger_names[i])) return i; return 0; diff --git a/Stars45/MissionTemplate.cpp b/Stars45/MissionTemplate.cpp index 3c64093..18257ab 100644 --- a/Stars45/MissionTemplate.cpp +++ b/Stars45/MissionTemplate.cpp @@ -281,10 +281,10 @@ MissionTemplate::Load(const char* fname, const char* pname) ok = false; if (fname) - strcpy(filename, fname); + strcpy_s(filename, fname); if (pname) - strcpy(path, pname); + strcpy_s(path, pname); if (!filename[0]) { Print("\nCan't Load Mission Template, script unspecified.\n"); diff --git a/Stars45/ModConfig.cpp b/Stars45/ModConfig.cpp index c082353..8831a0a 100644 --- a/Stars45/ModConfig.cpp +++ b/Stars45/ModConfig.cpp @@ -83,9 +83,10 @@ ModConfig::Load() int blocklen = 0; char filename[64]; - strcpy(filename, "mod.cfg"); + strcpy_s(filename, "mod.cfg"); - FILE* f = ::fopen(filename, "rb"); + FILE* f; + ::fopen_s(&f, filename, "rb"); if (f) { ::fseek(f, 0, SEEK_END); @@ -141,7 +142,8 @@ ModConfig::Load() void ModConfig::Save() { - FILE* f = fopen("mod.cfg", "w"); + FILE* f; + fopen_s(&f, "mod.cfg", "w"); if (f) { fprintf(f, "MOD_CONFIG\n\n"); diff --git a/Stars45/ModInfo.cpp b/Stars45/ModInfo.cpp index 334f299..b667a35 100644 --- a/Stars45/ModInfo.cpp +++ b/Stars45/ModInfo.cpp @@ -159,7 +159,7 @@ ModInfo::ParseModInfo(const char* block) int v = 0; char buf[32]; GetDefNumber(v, def, filename); - sprintf(buf, "%d", v); + sprintf_s(buf, "%d", v); version = buf; } diff --git a/Stars45/MsnEditDlg.cpp b/Stars45/MsnEditDlg.cpp index cdc4cf2..f81b6c3 100644 --- a/Stars45/MsnEditDlg.cpp +++ b/Stars45/MsnEditDlg.cpp @@ -317,7 +317,7 @@ MsnEditDlg::DrawPackages() while (++elem) { char txt[256]; - sprintf(txt, "%d", elem->Identity()); + sprintf_s(txt, "%d", elem->Identity()); if (cleared) { lst_elem->AddItemWithData(txt, elem->ElementID()); @@ -327,7 +327,7 @@ MsnEditDlg::DrawPackages() lst_elem->SetItemData(i, elem->ElementID()); } - sprintf(txt, "%d", elem->GetIFF()); + sprintf_s(txt, "%d", elem->GetIFF()); lst_elem->SetItemText(i, 1, txt); lst_elem->SetItemText(i, 2, elem->Name()); lst_elem->SetItemText(i, 4, elem->RoleName()); @@ -337,12 +337,12 @@ MsnEditDlg::DrawPackages() if (design) { if (elem->Count() > 1) - sprintf(txt, "%d %s", elem->Count(), design->abrv); + sprintf_s(txt, "%d %s", elem->Count(), design->abrv); else - sprintf(txt, "%s %s", design->abrv, design->name); + sprintf_s(txt, "%s %s", design->abrv, design->name); } else { - sprintf(txt, Game::GetText("MsnDlg.undefined").data()); + sprintf_s(txt, Game::GetText("MsnDlg.undefined").data()); } lst_elem->SetItemText(i, 3, txt); @@ -382,7 +382,7 @@ MsnEditDlg::DrawPackages() while (++event) { char txt[256]; - sprintf(txt, "%d", event->EventID()); + sprintf_s(txt, "%d", event->EventID()); if (cleared) { lst_event->AddItemWithData(txt, event->EventID()); } @@ -400,7 +400,7 @@ MsnEditDlg::DrawPackages() FormatTime(txt+2, event->Delay()); } else { - strcpy(txt, " "); + strcpy_s(txt, " "); } lst_event->SetItemText(i, 1, txt); diff --git a/Stars45/MsnElemDlg.cpp b/Stars45/MsnElemDlg.cpp index 830570d..3677b0e 100644 --- a/Stars45/MsnElemDlg.cpp +++ b/Stars45/MsnElemDlg.cpp @@ -220,25 +220,25 @@ MsnElemDlg::Show() if (edt_name) edt_name->SetText(elem->Name()); - sprintf(buf, "%d", elem->Count()); + sprintf_s(buf, "%d", elem->Count()); if (edt_size) edt_size->SetText(buf); - sprintf(buf, "%d", elem->GetIFF()); + sprintf_s(buf, "%d", elem->GetIFF()); if (edt_iff) edt_iff->SetText(buf); - sprintf(buf, "%d", (int) elem->Location().x / 1000); + sprintf_s(buf, "%d", (int) elem->Location().x / 1000); if (edt_loc_x) edt_loc_x->SetText(buf); - sprintf(buf, "%d", (int) elem->Location().y / 1000); + sprintf_s(buf, "%d", (int) elem->Location().y / 1000); if (edt_loc_y) edt_loc_y->SetText(buf); - sprintf(buf, "%d", (int) elem->Location().z / 1000); + sprintf_s(buf, "%d", (int) elem->Location().z / 1000); if (edt_loc_z) edt_loc_z->SetText(buf); - sprintf(buf, "%d", elem->RespawnCount()); + sprintf_s(buf, "%d", elem->RespawnCount()); if (edt_respawns) edt_respawns->SetText(buf); - sprintf(buf, "%d", elem->HoldTime()); + sprintf_s(buf, "%d", elem->HoldTime()); if (edt_hold_time) edt_hold_time->SetText(buf); if (btn_player) btn_player->SetButtonState(elem->Player() > 0 ? 1 : 0); @@ -431,7 +431,7 @@ MsnElemDlg::OnClassSelect(AWEvent* event) const char* dsn = designs[i]->data(); cmb_design->AddItem(dsn); - if (design && !stricmp(dsn, design->name)) { + if (design && !_stricmp(dsn, design->name)) { cmb_design->SetSelection(i); found = true; } @@ -547,7 +547,7 @@ MsnElemDlg::OnObjectiveSelect(AWEvent* event) if (add) { cmb_target->AddItem(e->Name()); - if (instr && !stricmp(instr->TargetName(), e->Name())) + if (instr && !_stricmp(instr->TargetName(), e->Name())) cmb_target->SetSelection(cmb_target->NumItems()-1); } } @@ -562,7 +562,7 @@ MsnElemDlg::OnIFFChange(AWEvent* event) { if (edt_iff && elem) { int elem_iff = 0; - sscanf(edt_iff->GetText().data(), "%d", &elem_iff); + sscanf_s(edt_iff->GetText().data(), "%d", &elem_iff); if (elem->GetIFF() == elem_iff) return; @@ -590,10 +590,10 @@ MsnElemDlg::OnAccept(AWEvent* event) } if (edt_size) { - strcpy(buf, edt_size->GetText()); + strcpy_s(buf, edt_size->GetText()); if (isdigit(*buf)) - sscanf(buf, "%d", &val); + sscanf_s(buf, "%d", &val); else val = 1; @@ -601,10 +601,10 @@ MsnElemDlg::OnAccept(AWEvent* event) } if (edt_iff) { - strcpy(buf, edt_iff->GetText()); + strcpy_s(buf, edt_iff->GetText()); if (isdigit(*buf)) - sscanf(buf, "%d", &val); + sscanf_s(buf, "%d", &val); else val = 1; @@ -614,28 +614,28 @@ MsnElemDlg::OnAccept(AWEvent* event) if (edt_loc_x && edt_loc_y && edt_loc_z) { Point loc; - strcpy(buf, edt_loc_x->GetText()); + strcpy_s(buf, edt_loc_x->GetText()); if (isdigit(*buf) || *buf == '-') - sscanf(buf, "%d", &val); + sscanf_s(buf, "%d", &val); else val = 0; loc.x = val * 1000; - strcpy(buf, edt_loc_y->GetText()); + strcpy_s(buf, edt_loc_y->GetText()); if (isdigit(*buf) || *buf == '-') - sscanf(buf, "%d", &val); + sscanf_s(buf, "%d", &val); else val = 0; loc.y = val * 1000; - strcpy(buf, edt_loc_z->GetText()); + strcpy_s(buf, edt_loc_z->GetText()); if (isdigit(*buf) || *buf == '-') - sscanf(buf, "%d", &val); + sscanf_s(buf, "%d", &val); else val = 0; @@ -645,10 +645,10 @@ MsnElemDlg::OnAccept(AWEvent* event) } if (edt_respawns) { - strcpy(buf, edt_respawns->GetText()); + strcpy_s(buf, edt_respawns->GetText()); if (isdigit(*buf)) - sscanf(buf, "%d", &val); + sscanf_s(buf, "%d", &val); else val = 0; @@ -656,10 +656,10 @@ MsnElemDlg::OnAccept(AWEvent* event) } if (edt_hold_time) { - strcpy(buf, edt_hold_time->GetText()); + strcpy_s(buf, edt_hold_time->GetText()); if (isdigit(*buf)) - sscanf(buf, "%d", &val); + sscanf_s(buf, "%d", &val); else val = 0; diff --git a/Stars45/MsnEventDlg.cpp b/Stars45/MsnEventDlg.cpp index f4dd5b5..3e2f682 100644 --- a/Stars45/MsnEventDlg.cpp +++ b/Stars45/MsnEventDlg.cpp @@ -111,25 +111,25 @@ MsnEventDlg::Show() char buf[64]; - sprintf(buf, "%d", event->EventID()); + sprintf_s(buf, "%d", event->EventID()); if (lbl_id) lbl_id->SetText(buf); if (edt_time) { - sprintf(buf, "%.1f", event->Time()); + sprintf_s(buf, "%.1f", event->Time()); edt_time->SetText(buf); } if (edt_delay) { - sprintf(buf, "%.1f", event->Delay()); + sprintf_s(buf, "%.1f", event->Delay()); edt_delay->SetText(buf); } if (edt_event_chance) { - sprintf(buf, "%d", event->EventChance()); + sprintf_s(buf, "%d", event->EventChance()); edt_event_chance->SetText(buf); } - sprintf(buf, "%d", event->EventParam()); + sprintf_s(buf, "%d", event->EventParam()); if (edt_event_param) edt_event_param->SetText(buf); if (edt_trigger_param) @@ -195,10 +195,10 @@ MsnEventDlg::FillShipList(ComboBox* cmb, const char* seln) char ship_name[256]; for (int n = 0; n < elem->Count(); n++) { - sprintf(ship_name, "%s %d", elem->Name().data(), n+1); + sprintf_s(ship_name, "%s %d", elem->Name().data(), n+1); cmb->AddItem(ship_name); - if (!stricmp(ship_name, seln)) + if (!_stricmp(ship_name, seln)) selected_index = index; index++; @@ -286,28 +286,28 @@ MsnEventDlg::OnAccept(AWEvent* e) int val; if (edt_time) { - strcpy(buf, edt_time->GetText()); + strcpy_s(buf, edt_time->GetText()); float t = 0; - sscanf(buf, "%f", &t); + sscanf_s(buf, "%f", &t); event->time = t; } if (edt_delay) { - strcpy(buf, edt_delay->GetText()); + strcpy_s(buf, edt_delay->GetText()); float t = 0; - sscanf(buf, "%f", &t); + sscanf_s(buf, "%f", &t); event->delay = t; } if (edt_event_param) { - strcpy(buf, edt_event_param->GetText()); + strcpy_s(buf, edt_event_param->GetText()); if (isdigit(*buf)) { - sscanf(buf, "%d", &val); + sscanf_s(buf, "%d", &val); event->event_param[0] = val; event->event_nparams = 1; } @@ -333,10 +333,10 @@ MsnEventDlg::OnAccept(AWEvent* e) } if (edt_event_chance) { - strcpy(buf, edt_event_chance->GetText()); + strcpy_s(buf, edt_event_chance->GetText()); if (isdigit(*buf)) { - sscanf(buf, "%d", &val); + sscanf_s(buf, "%d", &val); } else { val = 0; @@ -352,12 +352,12 @@ MsnEventDlg::OnAccept(AWEvent* e) event->event_sound = edt_event_sound->GetText(); if (edt_trigger_param) { - strcpy(buf, edt_trigger_param->GetText()); + strcpy_s(buf, edt_trigger_param->GetText()); ZeroMemory(event->trigger_param, sizeof(event->trigger_param)); if (isdigit(*buf)) { - sscanf(buf, "%d", &val); + sscanf_s(buf, "%d", &val); event->trigger_param[0] = val; event->trigger_nparams = 1; } diff --git a/Stars45/MsnObjDlg.cpp b/Stars45/MsnObjDlg.cpp index cdbdd9e..cd266d0 100644 --- a/Stars45/MsnObjDlg.cpp +++ b/Stars45/MsnObjDlg.cpp @@ -251,9 +251,9 @@ MsnObjDlg::Show() char txt[256]; if (design->type <= Ship::ATTACK) - sprintf(txt, "%s %s", design->abrv, design->display_name); + sprintf_s(txt, "%s %s", design->abrv, design->display_name); else - sprintf(txt, "%s %s", design->abrv, elem->Name().data()); + sprintf_s(txt, "%s %s", design->abrv, elem->Name().data()); player_desc->SetText(txt); } diff --git a/Stars45/MsnPkgDlg.cpp b/Stars45/MsnPkgDlg.cpp index 383a346..4d996bc 100644 --- a/Stars45/MsnPkgDlg.cpp +++ b/Stars45/MsnPkgDlg.cpp @@ -125,12 +125,12 @@ MsnPkgDlg::DrawPackages() char txt[256]; if (elem->Player() > 0) { - sprintf(txt, "==>"); + sprintf_s(txt, "==>"); if (pkg_index < 0) pkg_index = elem_index; } else { - strcpy(txt, " "); + strcpy_s(txt, " "); } pkg_list->AddItemWithData(txt, elem->ElementID()); @@ -140,9 +140,9 @@ MsnPkgDlg::DrawPackages() const ShipDesign* design = elem->GetDesign(); if (elem->Count() > 1) - sprintf(txt, "%d %s", elem->Count(), design->abrv); + sprintf_s(txt, "%d %s", elem->Count(), design->abrv); else - sprintf(txt, "%s %s", design->abrv, design->name); + sprintf_s(txt, "%s %s", design->abrv, design->name); pkg_list->SetItemText(i, 3, txt); i++; @@ -173,7 +173,7 @@ MsnPkgDlg::DrawNavPlan() ListIter navpt = element->NavList(); while (++navpt) { char txt[256]; - sprintf(txt, "%d", i + 1); + sprintf_s(txt, "%d", i + 1); nav_list->AddItem(txt); nav_list->SetItemText(i, 1, Instruction::ActionName(navpt->Action())); @@ -183,7 +183,7 @@ MsnPkgDlg::DrawNavPlan() FormatNumber(txt, dist); nav_list->SetItemText(i, 3, txt); - sprintf(txt, "%d", navpt->Speed()); + sprintf_s(txt, "%d", navpt->Speed()); nav_list->SetItemText(i, 4, txt); loc = navpt->Location(); @@ -257,14 +257,14 @@ MsnPkgDlg::DrawThreats() mission_role == Mission::INTERCEPT || mission_role == Mission::FLEET || mission_role == Mission::BOMBARDMENT) - strcpy(role, Game::GetText("MsnDlg.ATTACK").data()); + strcpy_s(role, Game::GetText("MsnDlg.ATTACK").data()); else - strcpy(role, Game::GetText("MsnDlg.PATROL").data()); + strcpy_s(role, Game::GetText("MsnDlg.PATROL").data()); double dist = Point(base_loc - elem->Location()).length(); FormatNumber(rng, dist); - sprintf(txt, "%s - %d %s - %s", role, + sprintf_s(txt, "%s - %d %s - %s", role, elem->Count(), elem->GetDesign()->abrv, rng); diff --git a/Stars45/MsnSelectDlg.cpp b/Stars45/MsnSelectDlg.cpp index 8972e7c..9530dcf 100644 --- a/Stars45/MsnSelectDlg.cpp +++ b/Stars45/MsnSelectDlg.cpp @@ -443,7 +443,7 @@ MsnSelectDlg::OnDel(AWEvent* event) ConfirmDlg* confirm = manager->GetConfirmDlg(); if (confirm) { char msg[256]; - sprintf(msg, Game::GetText("MsnSelectDlg.are-you-sure").data(), m->Name()); + sprintf_s(msg, Game::GetText("MsnSelectDlg.are-you-sure").data(), m->Name()); confirm->SetMessage(msg); confirm->SetTitle(Game::GetText("MsnSelectDlg.confirm-delete")); confirm->SetParentControl(btn_del); diff --git a/Stars45/MsnWepDlg.cpp b/Stars45/MsnWepDlg.cpp index 5e3dede..4090372 100644 --- a/Stars45/MsnWepDlg.cpp +++ b/Stars45/MsnWepDlg.cpp @@ -195,7 +195,7 @@ MsnWepDlg::SetupControls() ShipLoad* load = sl.value(); int item = loadout_list->AddItem(load->name) - 1; - sprintf(weight, "%d kg", (int) ((design->mass + load->mass) * 1000)); + sprintf_s(weight, "%d kg", (int) ((design->mass + load->mass) * 1000)); loadout_list->SetItemText(item, 1, weight); loadout_list->SetItemData(item, 1, (DWORD) (load->mass * 1000)); @@ -212,7 +212,7 @@ MsnWepDlg::SetupControls() if (loaded_mass < 1) loaded_mass = design->mass; - sprintf(weight, "%d kg", (int) (loaded_mass * 1000)); + sprintf_s(weight, "%d kg", (int) (loaded_mass * 1000)); lbl_weight->SetText(weight); } @@ -224,9 +224,9 @@ MsnWepDlg::SetupControls() char txt[256]; if (design->type <= Ship::ATTACK) - sprintf(txt, "%s %s", design->abrv, design->display_name); + sprintf_s(txt, "%s %s", design->abrv, design->display_name); else - sprintf(txt, "%s %s", design->abrv, elem->Name().data()); + sprintf_s(txt, "%s %s", design->abrv, elem->Name().data()); player_desc->SetText(txt); } @@ -294,7 +294,7 @@ MsnWepDlg::BuildLists() if (msn_load->GetName().length()) { ListIter sl = ((ShipDesign*) elem->GetDesign())->loadouts; while (++sl) { - if (!stricmp(sl->name, msn_load->GetName())) + if (!_stricmp(sl->name, msn_load->GetName())) loadout = sl->load; } } @@ -431,7 +431,7 @@ MsnWepDlg::OnMount(AWEvent* event) } char weight[32]; - sprintf(weight, "%d kg", (int) (mass * 1000)); + sprintf_s(weight, "%d kg", (int) (mass * 1000)); lbl_weight->SetText(weight); } } @@ -461,7 +461,7 @@ MsnWepDlg::OnLoadout(AWEvent* event) if (lbl_weight) { char weight[32]; - sprintf(weight, "%d kg", (int) ((design->mass + shipload->mass) * 1000)); + sprintf_s(weight, "%d kg", (int) ((design->mass + shipload->mass) * 1000)); lbl_weight->SetText(weight); } diff --git a/Stars45/NPClientWraps.cpp b/Stars45/NPClientWraps.cpp index c1d88d9..8659eec 100644 --- a/Stars45/NPClientWraps.cpp +++ b/Stars45/NPClientWraps.cpp @@ -209,8 +209,8 @@ NPRESULT NPClient_Init( const char* csDLLPath ) SIGNATUREDATA pSignature; SIGNATUREDATA verifySignature; // init the signatures - strcpy(verifySignature.DllSignature, "precise head tracking\n put your head into the game\n now go look around\n\n Copyright EyeControl Technologies"); - strcpy(verifySignature.AppSignature, "hardware camera\n software processing data\n track user movement\n\n Copyright EyeControl Technologies"); + strcpy_s(verifySignature.DllSignature, "precise head tracking\n put your head into the game\n now go look around\n\n Copyright EyeControl Technologies"); + strcpy_s(verifySignature.AppSignature, "hardware camera\n software processing data\n track user movement\n\n Copyright EyeControl Technologies"); // query the dll and compare the results NPRESULT vresult = NP_GetSignature( &pSignature ); if( vresult == NP_OK ) diff --git a/Stars45/NavDlg.cpp b/Stars45/NavDlg.cpp index 7002e2a..7ddd3cd 100644 --- a/Stars45/NavDlg.cpp +++ b/Stars45/NavDlg.cpp @@ -359,18 +359,18 @@ NavDlg::ExecFrame() FormatNumber(y, ship->Location().z); FormatNumber(z, ship->Location().y); - strcpy(loc_buf, Game::GetText("NavDlg.loc-labels").data()); + strcpy_s(loc_buf, Game::GetText("NavDlg.loc-labels").data()); loc_labels->SetText(loc_buf); if (sim->GetActiveRegion()) { - sprintf(loc_buf, "\n%s\n%s\n%s, %s, %s", + sprintf_s(loc_buf, "\n%s\n%s\n%s, %s, %s", (const char*) star_system->Name(), (const char*) sim->GetActiveRegion()->Name(), x, y, z); } else { - sprintf(loc_buf, "\n%s\nPlanck Space?\n%s, %s, %s", + sprintf_s(loc_buf, "\n%s\nPlanck Space?\n%s, %s, %s", (const char*) star_system->Name(), x, y, z); } @@ -417,10 +417,10 @@ NavDlg::ExecFrame() distance = Point(npt - ship->Location()).length(); FormatNumber(d, distance); - strcpy(loc_buf, Game::GetText("NavDlg.dst-labels").data()); + strcpy_s(loc_buf, Game::GetText("NavDlg.dst-labels").data()); dst_labels->SetText(loc_buf); - sprintf(loc_buf, "\n%s\n%s\n%s, %s, %s\n%s", + sprintf_s(loc_buf, "\n%s\n%s\n%s, %s, %s\n%s", (const char*) star_system->Name(), (const char*) navpt->Region()->Name(), x, y, z, d); @@ -702,23 +702,23 @@ NavDlg::UpdateSelection() double p = s->Period(); if (p < 60) { - sprintf(units, " %s", Game::GetText("NavDlg.units.seconds").data()); + sprintf_s(units, " %s", Game::GetText("NavDlg.units.seconds").data()); } else if (p < 3600) { p /= 60; - sprintf(units, " %s", Game::GetText("NavDlg.units.minutes").data()); + sprintf_s(units, " %s", Game::GetText("NavDlg.units.minutes").data()); } else if (p < 24 * 3600) { p /= 3600; - sprintf(units, " %s", Game::GetText("NavDlg.units.hours").data()); + sprintf_s(units, " %s", Game::GetText("NavDlg.units.hours").data()); } else if (p < 365.25 * 24 * 3600) { p /= 24*3600; - sprintf(units, " %s", Game::GetText("NavDlg.units.days").data()); + sprintf_s(units, " %s", Game::GetText("NavDlg.units.days").data()); } else { p /= 365.25*24*3600; - sprintf(units, " %s", Game::GetText("NavDlg.units.years").data()); + sprintf_s(units, " %s", Game::GetText("NavDlg.units.years").data()); } FormatNumberExp(radius, s->Radius()/1000); @@ -726,10 +726,10 @@ NavDlg::UpdateSelection() FormatNumberExp(orbit, s->Orbit()/1000); FormatNumberExp(period, p); - strcat(radius, units_km.data()); - strcat(mass, units_tonnes.data()); - strcat(orbit, units_km.data()); - strcat(period, units); + strcat_s(radius, units_km.data()); + strcat_s(mass, units_tonnes.data()); + strcat_s(orbit, units_km.data()); + strcat_s(period, units); if (seln_mode >= SELECT_SYSTEM) { info_list->AddItem(Game::GetText(Text("NavDlg.filter.") + filter_name[seln_mode])); @@ -763,13 +763,13 @@ NavDlg::UpdateSelection() char hull[16]; char range[32]; - sprintf(shield, "%03d", sel_ship->ShieldStrength()); - sprintf(hull, "%03d", sel_ship->HullStrength()); - sprintf(range, Game::GetText("NavDlg.not-avail").data()); + sprintf_s(shield, "%03d", sel_ship->ShieldStrength()); + sprintf_s(hull, "%03d", sel_ship->HullStrength()); + sprintf_s(range, Game::GetText("NavDlg.not-avail").data()); if (ship) { FormatNumberExp(range, Point(sel_ship->Location()-ship->Location()).length()/1000); - strcat(range, units_km.data()); + strcat_s(range, units_km.data()); } info_list->AddItem(Game::GetText("NavDlg.name")); @@ -798,9 +798,9 @@ NavDlg::UpdateSelection() if (self) FormatNumberExp(range, Point(sel_elem->Location()-self->Location()).length()/1000); else - strcpy(range, "0"); + strcpy_s(range, "0"); - strcat(range, units_km.data()); + strcat_s(range, units_km.data()); info_list->AddItem(Game::GetText("NavDlg.name")); info_list->AddItem(Game::GetText("NavDlg.class")); diff --git a/Stars45/NetAddrDlg.cpp b/Stars45/NetAddrDlg.cpp index eb2e8d8..7ed5495 100644 --- a/Stars45/NetAddrDlg.cpp +++ b/Stars45/NetAddrDlg.cpp @@ -115,11 +115,11 @@ NetAddrDlg::OnSave(AWEvent* event) Text pass; int port; - sscanf(edt_port->GetText().data(), "%d", &port); + sscanf_s(edt_port->GetText().data(), "%d", &port); if (edt_name && edt_name->GetText().length() < 250) { char buffer[256]; - strcpy(buffer, edt_name->GetText().data()); + strcpy_s(buffer, edt_name->GetText().data()); char* p = strpbrk(buffer, "\n\r\t"); if (p) *p = 0; @@ -128,7 +128,7 @@ NetAddrDlg::OnSave(AWEvent* event) if (edt_pass && edt_pass->GetText().length() < 250) { char buffer[256]; - strcpy(buffer, edt_pass->GetText().data()); + strcpy_s(buffer, edt_pass->GetText().data()); char* p = strpbrk(buffer, "\n\r\t"); if (p) *p = 0; @@ -137,7 +137,7 @@ NetAddrDlg::OnSave(AWEvent* event) if (edt_addr && edt_addr->GetText().length() < 250) { char buffer[256]; - strcpy(buffer, edt_addr->GetText().data()); + strcpy_s(buffer, edt_addr->GetText().data()); char* p = strpbrk(buffer, "\n\r\t"); if (p) *p = 0; diff --git a/Stars45/NetAdminServer.cpp b/Stars45/NetAdminServer.cpp index 7335876..4a36681 100644 --- a/Stars45/NetAdminServer.cpp +++ b/Stars45/NetAdminServer.cpp @@ -342,9 +342,9 @@ return confirm(\"Are you sure you want to ban this player?\");\n\ char addr_hex[16]; char user_stats[16]; - sprintf(addr_dotted, "%d.%d.%d.%d", a.B1(), a.B2(), a.B3(), a.B4()); - sprintf(addr_hex, "%08x", a.IPAddr()); - sprintf(user_stats, "%d / %d / %d", u->Missions(), u->Kills(), u->Losses()); + sprintf_s(addr_dotted, "%d.%d.%d.%d", a.B1(), a.B2(), a.B3(), a.B4()); + sprintf_s(addr_hex, "%08x", a.IPAddr()); + sprintf_s(user_stats, "%d / %d / %d", u->Missions(), u->Kills(), u->Losses()); content += "\n \n\ "; @@ -751,7 +751,7 @@ NetAdminServlet::GetStatLine()   Connected to "; char buffer[256]; - sprintf(buffer, "%s:%d", config->Name().data(), config->GetAdminPort()); + sprintf_s(buffer, "%s:%d", config->Name().data(), config->GetAdminPort()); line += buffer; line += "\n\ diff --git a/Stars45/NetAuth.cpp b/Stars45/NetAuth.cpp index 03c7917..700a876 100644 --- a/Stars45/NetAuth.cpp +++ b/Stars45/NetAuth.cpp @@ -92,7 +92,8 @@ static Text Digest(const char* salt, const char* file) ZeroMemory(digest, sizeof(digest)); if (file) { - FILE* f = fopen(file, "rb"); + FILE* f; + fopen_s(&f, file, "rb"); if (f) { SHA1 sha1; @@ -115,7 +116,7 @@ static Text Digest(const char* salt, const char* file) unsigned result[5]; if (sha1.Result(result)) { - sprintf(digest, "SHA1_%08X_%08X_%08X_%08X_%08X", + sprintf_s(digest, "SHA1_%08X_%08X_%08X_%08X_%08X", result[0], result[1], result[2], result[3], result[4]); } } @@ -162,7 +163,7 @@ NetAuth::CreateAuthResponse(int level, const char* salt) ListIter mod_iter = mods; char buffer[32]; - sprintf(buffer, "num %d ", mods.size()); + sprintf_s(buffer, "num %d ", mods.size()); response += buffer; while (++mod_iter) { diff --git a/Stars45/NetBrokerClient.cpp b/Stars45/NetBrokerClient.cpp index 139fd87..7783172 100644 --- a/Stars45/NetBrokerClient.cpp +++ b/Stars45/NetBrokerClient.cpp @@ -50,7 +50,7 @@ const char* password) if (broker.IPAddr() == 0) return result; - sprintf(buffer, "%d", port); + sprintf_s(buffer, "%d", port); msg = "GET http://"; msg += HOSTNAME; @@ -168,7 +168,7 @@ NetBrokerClient::GameList(const char* type, List& server_list) while (*p && *p != '\n') *d++ = *p++; if (*p) p++; - sscanf(buff, "%d", &port); + sscanf_s(buff, "%d", &port); } else if (!strncmp(p, "pass:", 5)) { p += 5; diff --git a/Stars45/NetClientConfig.cpp b/Stars45/NetClientConfig.cpp index 4e116ed..2c93db9 100644 --- a/Stars45/NetClientConfig.cpp +++ b/Stars45/NetClientConfig.cpp @@ -71,9 +71,9 @@ NetClientConfig::AddServer(const char* name, const char* addr, WORD port, const char buffer[1024]; if (name && *name) - strcpy(buffer, name); + strcpy_s(buffer, name); else - sprintf(buffer, "%s:%d", addr, port); + sprintf_s(buffer, "%s:%d", addr, port); NetServerInfo* server = new(__FILE__,__LINE__) NetServerInfo; server->name = buffer; @@ -146,9 +146,10 @@ NetClientConfig::Load() int blocklen = 0; char filename[64]; - strcpy(filename, "client.cfg"); + strcpy_s(filename, "client.cfg"); - FILE* f = ::fopen(filename, "rb"); + FILE* f; + ::fopen_s(&f, filename, "rb"); if (f) { ::fseek(f, 0, SEEK_END); @@ -236,7 +237,8 @@ NetClientConfig::Load() void NetClientConfig::Save() { - FILE* f = fopen("client.cfg", "w"); + FILE* f; + fopen_s(&f, "client.cfg", "w"); if (f) { fprintf(f, "CLIENT_CONFIG\n\n"); diff --git a/Stars45/NetClientDlg.cpp b/Stars45/NetClientDlg.cpp index 4ab31ab..7334a75 100644 --- a/Stars45/NetClientDlg.cpp +++ b/Stars45/NetClientDlg.cpp @@ -204,7 +204,7 @@ NetClientDlg::UpdateServers() if (info->ping_time > 0 && info->ping_time < 10000) { char buffer[32]; - sprintf(buffer, "%d ms", info->ping_time); + sprintf_s(buffer, "%d ms", info->ping_time); lst_servers->SetItemText(i, 5, buffer); switch (info->status) { @@ -224,7 +224,7 @@ NetClientDlg::UpdateServers() lst_servers->SetItemText(i, 3, status); char num_users[16]; - sprintf(num_users, "%d", info->nplayers); + sprintf_s(num_users, "%d", info->nplayers); lst_servers->SetItemText(i, 4, num_users); } } diff --git a/Stars45/NetFileServlet.cpp b/Stars45/NetFileServlet.cpp index 3d4406f..9e7b316 100644 --- a/Stars45/NetFileServlet.cpp +++ b/Stars45/NetFileServlet.cpp @@ -70,10 +70,11 @@ NetWebServlet::DoGet(HttpRequest& request, HttpResponse& response) if (name.length() > 4) { char filename[256]; - strcpy(filename, name.data() + 1); // skip leading '/' - - FILE* f = ::fopen(filename, "rb"); + strcpy_s(filename, name.data() + 1); // skip leading '/' + FILE* f; + ::fopen_s(&f, filename, "rb"); + if (f) { ::fseek(f, 0, SEEK_END); int len = ftell(f); diff --git a/Stars45/NetGameClient.cpp b/Stars45/NetGameClient.cpp index 2461cd5..b237f81 100644 --- a/Stars45/NetGameClient.cpp +++ b/Stars45/NetGameClient.cpp @@ -160,7 +160,7 @@ NetGameClient::DoJoinAnnounce(NetMsg* msg) Ship* ship = 0; char ship_name[128]; - strcpy(ship_name, Game::GetText("NetGameClient.no-ship").data()); + strcpy_s(ship_name, Game::GetText("NetGameClient.no-ship").data()); if (local_player && player_name == name) { HUDView::Message(Game::GetText("NetGameClient.local-accept"), name.data(), local_player->Name()); @@ -191,9 +191,9 @@ NetGameClient::DoJoinAnnounce(NetMsg* msg) remote_player->SetObjID(oid); if (index > 0) - sprintf(ship_name, "%s %d", elem_name.data(), index); + sprintf_s(ship_name, "%s %d", elem_name.data(), index); else - sprintf(ship_name, "%s", elem_name.data()); + sprintf_s(ship_name, "%s", elem_name.data()); } else { Element* element = sim->FindElement(elem_name); @@ -214,7 +214,7 @@ NetGameClient::DoJoinAnnounce(NetMsg* msg) saved = true; } else { - strcpy(ship_name, ship->Name()); + strcpy_s(ship_name, ship->Name()); SimRegion* rgn = ship->GetRegion(); if (rgn && region != rgn->Name()) { @@ -275,7 +275,7 @@ NetGameClient::DoJoinBacklog(NetJoinAnnounce* join_ann) Ship* ship = 0; char ship_name[128]; - strcpy(ship_name, Game::GetText("NetGameClient.no-ship").data()); + strcpy_s(ship_name, Game::GetText("NetGameClient.no-ship").data()); if (nid && oid) { NetPlayer* remote_player = FindPlayerByObjID(oid); @@ -284,9 +284,9 @@ NetGameClient::DoJoinBacklog(NetJoinAnnounce* join_ann) remote_player->SetObjID(oid); if (index > 0) - sprintf(ship_name, "%s %d", elem_name.data(), index); + sprintf_s(ship_name, "%s %d", elem_name.data(), index); else - sprintf(ship_name, "%s", elem_name.data()); + sprintf_s(ship_name, "%s", elem_name.data()); } else { Element* element = sim->FindElement(elem_name); @@ -296,7 +296,7 @@ NetGameClient::DoJoinBacklog(NetJoinAnnounce* join_ann) } if (ship) { - strcpy(ship_name, ship->Name()); + strcpy_s(ship_name, ship->Name()); SimRegion* rgn = ship->GetRegion(); if (rgn && region != rgn->Name()) { diff --git a/Stars45/NetLobby.cpp b/Stars45/NetLobby.cpp index a29068e..fa27fb3 100644 --- a/Stars45/NetLobby.cpp +++ b/Stars45/NetLobby.cpp @@ -331,12 +331,12 @@ NetLobby::FindUserByAddr(const NetAddr& addr) NetUser* NetLobby::FindUserByName(const char* name) { - if (local_user && !stricmp(local_user->Name(), name)) + if (local_user && !_stricmp(local_user->Name(), name)) return local_user; for (int i = 0; i < users.size(); i++) { NetUser* u = users[i]; - if (!stricmp(u->Name(), name)) + if (!_stricmp(u->Name(), name)) return u; } @@ -603,7 +603,7 @@ NetUnitEntry::GetDescription() const if (elem) { static char buffer[1024]; - sprintf(buffer, "name \"%s\" index %d design \"%s\" iff %d user \"%s\" lives %d hull %d role %d lock %d ", + sprintf_s(buffer, "name \"%s\" index %d design \"%s\" iff %d user \"%s\" lives %d hull %d role %d lock %d ", elem.data(), index, design.data(), diff --git a/Stars45/NetLobbyClient.cpp b/Stars45/NetLobbyClient.cpp index 15019df..b0e54b3 100644 --- a/Stars45/NetLobbyClient.cpp +++ b/Stars45/NetLobbyClient.cpp @@ -151,7 +151,7 @@ NetLobbyClient::Login(bool host_req) char buffer[256]; - sprintf(buffer, "host %s rank %d time %d miss %d kill %d loss %d ", + sprintf_s(buffer, "host %s rank %d time %d miss %d kill %d loss %d ", host ? "true" : "false", player->Rank(), player->FlightTime(), @@ -294,7 +294,7 @@ NetLobbyClient::AddChat(NetUser* user, const char* msg, bool route) if (!msg || !*msg) return; char buffer[280]; - sprintf(buffer, "msg \"%s\"", SafeQuotes(msg)); + sprintf_s(buffer, "msg \"%s\"", SafeQuotes(msg)); SendData(NET_LOBBY_CHAT, buffer); ExecFrame(); @@ -370,7 +370,7 @@ void NetLobbyClient::BanUser(NetUser* user) { char buffer[512]; - sprintf(buffer, "user \"%s\"", SafeQuotes(user->Name())); + sprintf_s(buffer, "user \"%s\"", SafeQuotes(user->Name())); SendData(NET_LOBBY_BAN_USER, buffer); } @@ -380,7 +380,7 @@ void NetLobbyClient::SelectMission(DWORD id) { char buffer[32]; - sprintf(buffer, "m_id 0x%08x", id); + sprintf_s(buffer, "m_id 0x%08x", id); SendData(NET_LOBBY_MISSION_SELECT, buffer); } @@ -391,7 +391,7 @@ NetLobbyClient::MapUnit(int n, const char* user, bool lock) return; char buffer[512]; - sprintf(buffer, "id %d user \"%s\" lock %s", + sprintf_s(buffer, "id %d user \"%s\" lock %s", n, SafeQuotes(user), lock ? "true" : "false"); SendData(NET_LOBBY_MAP_UNIT, buffer); } @@ -429,7 +429,7 @@ NetLobbyClient::DoAuthUser(NetPeer* peer, Text msg) NetLobbyParam* p = params[i]; int num = 0; - sscanf(p->value, "%d", &num); + sscanf_s(p->value, "%d", &num); if (p->name == "level") { level = num; @@ -455,7 +455,7 @@ NetLobbyClient::DoServerInfo(NetPeer* peer, Text msg) NetLobbyParam* p = params[i]; int num = 0; - sscanf(p->value, "%d", &num); + sscanf_s(p->value, "%d", &num); if (p->name == "info") { server_info.machine_info = p->value; @@ -499,7 +499,7 @@ NetLobbyClient::DoChat(NetPeer* peer, Text msg) NetLobbyParam* p = params[i]; int num = 0; - sscanf(p->value, "%d", &num); + sscanf_s(p->value, "%d", &num); if (p->name == "id") id = num; @@ -581,7 +581,7 @@ NetLobbyClient::DoUserList(NetPeer* peer, Text msg) NetLobbyParam* p = params[i]; int num = 0; - sscanf(p->value, "%d", &num); + sscanf_s(p->value, "%d", &num); if (p->name == "name") user_name = p->value; @@ -644,7 +644,7 @@ NetLobbyClient::DoMissionList(NetPeer* peer, Text msg) if (p->name == "c_id") { c = new(__FILE__,__LINE__) NetCampaignInfo; - sscanf(p->value, "0x%x", &c->id); + sscanf_s(p->value, "0x%x", &c->id); campaigns.append(c); m = 0; @@ -656,7 +656,7 @@ NetLobbyClient::DoMissionList(NetPeer* peer, Text msg) else if (p->name == "m_id") { int id = 0; - sscanf(p->value, "0x%x", &id); + sscanf_s(p->value, "0x%x", &id); int m_id = id & NET_MISSION_MASK; int c_id = id >> NET_CAMPAIGN_SHIFT; @@ -696,7 +696,7 @@ NetLobbyClient::DoMissionSelect(NetPeer* peer, Text msg) NetLobbyParam* p = params[i]; int num = 0; - sscanf(p->value, "0x%x", &num); + sscanf_s(p->value, "0x%x", &num); if (p->name == "m_id") { if (selected_mission != (DWORD) num) { @@ -720,7 +720,8 @@ NetLobbyClient::DoMissionData(NetPeer* peer, Text msg) } if (msg.length()) { - FILE* f = ::fopen("multi_mission_recv.def", "w"); + FILE* f; + ::fopen_s(&f, "multi_mission_recv.def", "w"); if (f) { ::fwrite(msg.data(), msg.length(), 1, f); ::fclose(f); @@ -760,22 +761,22 @@ NetLobbyClient::DoUnitList(NetPeer* peer, Text msg) user_name = p->value; } else if (p->name == "index") { - sscanf(p->value, "%d", &index); + sscanf_s(p->value, "%d", &index); } else if (p->name == "iff") { - sscanf(p->value, "%d", &iff); + sscanf_s(p->value, "%d", &iff); } else if (p->name == "lives") { - sscanf(p->value, "%d", &lives); + sscanf_s(p->value, "%d", &lives); } else if (p->name == "hull") { - sscanf(p->value, "%d", &hull); + sscanf_s(p->value, "%d", &hull); } else if (p->name == "role") { - sscanf(p->value, "%d", &role); + sscanf_s(p->value, "%d", &role); } else if (p->name == "lock") { - sscanf(p->value, "%d", &lock); + sscanf_s(p->value, "%d", &lock); NetUnitEntry* entry = new(__FILE__,__LINE__) NetUnitEntry(elem_name, design, iff, index); entry->SetUserName(user_name); diff --git a/Stars45/NetLobbyServer.cpp b/Stars45/NetLobbyServer.cpp index 677050c..1c3ce30 100644 --- a/Stars45/NetLobbyServer.cpp +++ b/Stars45/NetLobbyServer.cpp @@ -174,7 +174,8 @@ NetLobbyServer::LoadMOTD() { motd.destroy(); - FILE* f = fopen("motd.txt", "r"); + FILE* f; + fopen_s(&f, "motd.txt", "r"); if (f) { char line[256]; @@ -200,13 +201,13 @@ NetLobbyServer::SendMOTD(NetUser* user) for (int i = 0; i < motd.size(); i++) { Text* line = motd[i]; - sprintf(buffer, "id %d user \" \" msg \"%s\"", + sprintf_s(buffer, "id %d user \" \" msg \"%s\"", motd_index++, *line); SendData(user, NET_LOBBY_CHAT, buffer); } - sprintf(buffer, "id %d user \" \" msg \" \"", motd_index++); + sprintf_s(buffer, "id %d user \" \" msg \" \"", motd_index++); SendData(user, NET_LOBBY_CHAT, buffer); } @@ -223,7 +224,7 @@ NetLobbyServer::SendMods(NetUser* user) for (int i = 0; i < mods.size(); i++) { ModInfo* info = mods[i]; - sprintf(buffer, "id %d user \"Enabled Mods:\" msg \"%d. '%s' ", + sprintf_s(buffer, "id %d user \"Enabled Mods:\" msg \"%d. '%s' ", motd_index++, i+1, info->Name().data()); Text msg = buffer; @@ -243,7 +244,7 @@ NetLobbyServer::SendMods(NetUser* user) SendData(user, NET_LOBBY_CHAT, msg); } - sprintf(buffer, "id %d user \" \" msg \" \"", motd_index++); + sprintf_s(buffer, "id %d user \" \" msg \" \"", motd_index++); SendData(user, NET_LOBBY_CHAT, buffer); } @@ -536,10 +537,10 @@ NetLobbyServer::AddChat(NetUser* user, const char* msg, bool route) // results when using more than one in // a function call... - strcpy(msg_buf, SafeQuotes(msg)); - strcpy(usr_buf, SafeQuotes(user->Name())); + strcpy_s(msg_buf, SafeQuotes(msg)); + strcpy_s(usr_buf, SafeQuotes(user->Name())); - sprintf(buffer, "id %d user \"%s\" msg \"%s\"", + sprintf_s(buffer, "id %d user \"%s\" msg \"%s\"", entry->GetID(), usr_buf, msg_buf); ListIter iter = users; @@ -566,7 +567,8 @@ NetLobbyServer::ClearChat() void NetLobbyServer::SaveChat() { - FILE* f = fopen("chat.txt", "w"); + FILE* f; + fopen_s(&f, "chat.txt", "w"); if (f) { for (int i = 0; i < chat_log.size(); i++) { NetChatEntry* c = chat_log[i]; @@ -592,7 +594,7 @@ NetLobbyServer::SelectMission(DWORD id) // inform all users of the selection: char buffer[32]; - sprintf(buffer, "m_id 0x%08x", selected_mission); + sprintf_s(buffer, "m_id 0x%08x", selected_mission); ListIter iter = users; while (++iter) { @@ -791,7 +793,7 @@ NetLobbyServer::GameOn() const char* password = "No"; char address[32]; - strcpy(address, "0"); + strcpy_s(address, "0"); if (server_config) { if (server_config->GetGameType() == NetServerConfig::NET_GAME_PRIVATE) @@ -799,7 +801,7 @@ NetLobbyServer::GameOn() if (server_config->GetGameType() == NetServerConfig::NET_GAME_LAN) { type = "Starshatter-LAN"; - sprintf(address, "%d.%d.%d.%d", + sprintf_s(address, "%d.%d.%d.%d", host.Address().B1(), host.Address().B2(), host.Address().B3(), @@ -807,7 +809,7 @@ NetLobbyServer::GameOn() } else { type = "Starshatter"; - sprintf(address, "0.0.0.0"); + sprintf_s(address, "0.0.0.0"); } if (server_config->GetGamePass().length() > 0) @@ -842,7 +844,7 @@ NetLobbyServer::DoServerInfo(NetPeer* peer, Text s) if (server_config) gameport = server_config->GetGamePort(); - sprintf(buffer, "info \"%s\" version \"%s\" mode %d users %d host %s port %d", + sprintf_s(buffer, "info \"%s\" version \"%s\" mode %d users %d host %s port %d", MachineInfo::GetShortDescription(), versionInfo, GetStatus(), @@ -864,7 +866,7 @@ NetLobbyServer::DoServerMods(NetPeer* peer, Text s) ListIter mod_iter = mods; char buffer[32]; - sprintf(buffer, "num %d ", mods.size()); + sprintf_s(buffer, "num %d ", mods.size()); response += buffer; while (++mod_iter) { @@ -908,7 +910,7 @@ NetLobbyServer::DoLogin(NetPeer* peer, Text msg) NetLobbyParam* p = params[i]; int num = 0; - sscanf(p->value, "%d", &num); + sscanf_s(p->value, "%d", &num); if (p->name == "name") name = p->value; @@ -1025,37 +1027,37 @@ NetLobbyServer::DoUserAuth(NetPeer* peer, Text msg) if (!user->IsAuthOK()) { char buffer[256]; - sprintf(buffer, "id %d user \"SERVER\" msg \"**********\"", motd_index++); + sprintf_s(buffer, "id %d user \"SERVER\" msg \"**********\"", motd_index++); SendData(user, NET_LOBBY_CHAT, buffer); - sprintf(buffer, "id %d user \"SERVER\" msg \"*** Your game configuration does not match the server.\"", motd_index++); + sprintf_s(buffer, "id %d user \"SERVER\" msg \"*** Your game configuration does not match the server.\"", motd_index++); SendData(user, NET_LOBBY_CHAT, buffer); if (server_mods.size() > 0) { - sprintf(buffer, "id %d user \"SERVER\" msg \"*** Please check that you have the proper mods deployed in\"", motd_index++); + sprintf_s(buffer, "id %d user \"SERVER\" msg \"*** Please check that you have the proper mods deployed in\"", motd_index++); SendData(user, NET_LOBBY_CHAT, buffer); - sprintf(buffer, "id %d user \"SERVER\" msg \"*** the order shown above.\"", motd_index++); + sprintf_s(buffer, "id %d user \"SERVER\" msg \"*** the order shown above.\"", motd_index++); SendData(user, NET_LOBBY_CHAT, buffer); } else { - sprintf(buffer, "id %d user \"SERVER\" msg \"*** Please verify that you have no mods deployed.\"", motd_index++); + sprintf_s(buffer, "id %d user \"SERVER\" msg \"*** Please verify that you have no mods deployed.\"", motd_index++); SendData(user, NET_LOBBY_CHAT, buffer); } - sprintf(buffer, "id %d user \"SERVER\" msg \"*** You will not be permitted to join the game with an invalid\"", motd_index++); + sprintf_s(buffer, "id %d user \"SERVER\" msg \"*** You will not be permitted to join the game with an invalid\"", motd_index++); SendData(user, NET_LOBBY_CHAT, buffer); - sprintf(buffer, "id %d user \"SERVER\" msg \"*** configuration. You may reconnect to this server after you\"", motd_index++); + sprintf_s(buffer, "id %d user \"SERVER\" msg \"*** configuration. You may reconnect to this server after you\"", motd_index++); SendData(user, NET_LOBBY_CHAT, buffer); - sprintf(buffer, "id %d user \"SERVER\" msg \"*** have corrected your mod configuration.\"", motd_index++); + sprintf_s(buffer, "id %d user \"SERVER\" msg \"*** have corrected your mod configuration.\"", motd_index++); SendData(user, NET_LOBBY_CHAT, buffer); - sprintf(buffer, "id %d user \"SERVER\" msg \"**********\"", motd_index++); + sprintf_s(buffer, "id %d user \"SERVER\" msg \"**********\"", motd_index++); SendData(user, NET_LOBBY_CHAT, buffer); - sprintf(buffer, "id %d user \" \" msg \" \"", motd_index++); + sprintf_s(buffer, "id %d user \" \" msg \" \"", motd_index++); SendData(user, NET_LOBBY_CHAT, buffer); } } @@ -1073,7 +1075,7 @@ NetLobbyServer::DoChat(NetPeer* peer, Text msg) NetLobbyParam* p = params[i]; int num = 0; - sscanf(p->value, "%d", &num); + sscanf_s(p->value, "%d", &num); if (p->name == "msg") { chat_msg = p->value; @@ -1105,10 +1107,10 @@ NetLobbyServer::DoChat(NetPeer* peer, Text msg) // results when using more than one in // a function call... - strcpy(msg_buf, SafeQuotes(entry->GetMessage())); - strcpy(usr_buf, SafeQuotes(entry->GetUser())); + strcpy_s(msg_buf, SafeQuotes(entry->GetMessage())); + strcpy_s(usr_buf, SafeQuotes(entry->GetUser())); - sprintf(buffer, "id %d user \"%s\" msg \"%s\"", + sprintf_s(buffer, "id %d user \"%s\" msg \"%s\"", entry->GetID(), usr_buf, msg_buf); SendData(user, NET_LOBBY_CHAT, buffer); @@ -1177,7 +1179,7 @@ NetLobbyServer::DoMissionList(NetPeer* peer, Text msg) Campaign* c = c_iter.value(); if (c->GetCampaignId() >= Campaign::MULTIPLAYER_MISSIONS) { - sprintf(buffer, "c_id 0x%08x c_name \"%s\" ", + sprintf_s(buffer, "c_id 0x%08x c_name \"%s\" ", c->GetCampaignId(), SafeQuotes(c->Name())); @@ -1198,7 +1200,7 @@ NetLobbyServer::DoMissionList(NetPeer* peer, Text msg) int mission_id = (c->GetCampaignId() << NET_CAMPAIGN_SHIFT) + m->id; - sprintf(buffer, "m_id 0x%08x ", mission_id); + sprintf_s(buffer, "m_id 0x%08x ", mission_id); reply += buffer; reply += "m_name \""; @@ -1241,7 +1243,7 @@ NetLobbyServer::DoMissionList(NetPeer* peer, Text msg) SendData(user, NET_LOBBY_MISSION_LIST, reply); - sprintf(buffer, "m_id 0x%08x", selected_mission); + sprintf_s(buffer, "m_id 0x%08x", selected_mission); SendData(user, NET_LOBBY_MISSION_SELECT, buffer); } } @@ -1262,7 +1264,7 @@ NetLobbyServer::DoMissionSelect(NetPeer* peer, Text msg) NetLobbyParam* p = params[i]; int num = 0; - sscanf(p->value, "0x%x", &num); + sscanf_s(p->value, "0x%x", &num); if (p->name == "m_id") { SelectMission(num); @@ -1325,7 +1327,7 @@ NetLobbyServer::DoMapUnit(NetPeer* peer, Text msg) NetLobbyParam* p = params[i]; if (p->name == "id") { - sscanf(p->value, "%d", &id); + sscanf_s(p->value, "%d", &id); } else if (p->name == "user") { diff --git a/Stars45/NetPassDlg.cpp b/Stars45/NetPassDlg.cpp index 5ea1542..551b31d 100644 --- a/Stars45/NetPassDlg.cpp +++ b/Stars45/NetPassDlg.cpp @@ -115,7 +115,7 @@ NetPassDlg::OnApply(AWEvent* event) if (info && edt_pass->GetText().length() < 250) { char buffer[256]; - strcpy(buffer, edt_pass->GetText().data()); + strcpy_s(buffer, edt_pass->GetText().data()); // trim from first occurrence of invalid character char* p = strpbrk(buffer, "\n\r\t"); diff --git a/Stars45/NetServerConfig.cpp b/Stars45/NetServerConfig.cpp index 17cb21f..63378bc 100644 --- a/Stars45/NetServerConfig.cpp +++ b/Stars45/NetServerConfig.cpp @@ -90,9 +90,10 @@ NetServerConfig::Load() int port = 0; char filename[64]; - strcpy(filename, "server.cfg"); + strcpy_s(filename, "server.cfg"); - FILE* f = ::fopen(filename, "rb"); + FILE* f; + ::fopen_s(&f, filename, "rb"); if (f) { ::fseek(f, 0, SEEK_END); @@ -242,7 +243,8 @@ NetServerConfig::Load() void NetServerConfig::Save() { - FILE* f = fopen("server.cfg", "w"); + FILE* f; + fopen_s(&f, "server.cfg", "w"); if (f) { fprintf(f, "SERVER_CONFIG\n\n"); fprintf(f, "name: \"%s\"\n", instance->name.data()); @@ -333,9 +335,10 @@ NetServerConfig::LoadBanList() int port = 0; char filename[64]; - strcpy(filename, "banned.cfg"); + strcpy_s(filename, "banned.cfg"); - FILE* f = ::fopen(filename, "rb"); + FILE* f; + ::fopen_s(&f, filename, "rb"); if (f) { ::fseek(f, 0, SEEK_END); @@ -418,7 +421,8 @@ NetServerConfig::BanUser(NetUser* user) banned_addrs.append(user_addr); banned_names.append(user_name); - FILE* f = fopen("banned.cfg", "w"); + FILE* f; + fopen_s(&f, "banned.cfg", "w"); if (f) { fprintf(f, "BANNED_CONFIG\n\n"); diff --git a/Stars45/NetServerDlg.cpp b/Stars45/NetServerDlg.cpp index adb869c..b1ddb61 100644 --- a/Stars45/NetServerDlg.cpp +++ b/Stars45/NetServerDlg.cpp @@ -94,12 +94,12 @@ NetServerDlg::Show() cmb_type->SetSelection(config->GetGameType()); if (edt_game_port) { - sprintf(buff, "%d", config->GetLobbyPort()); + sprintf_s(buff, "%d", config->GetLobbyPort()); edt_game_port->SetText(buff); } if (edt_admin_port) { - sprintf(buff, "%d", config->GetAdminPort()); + sprintf_s(buff, "%d", config->GetAdminPort()); edt_admin_port->SetText(buff); } @@ -135,14 +135,14 @@ NetServerDlg::OnApply(AWEvent* event) if (edt_game_port) { int port = 0; - sscanf(edt_game_port->GetText(), "%d", &port); + sscanf_s(edt_game_port->GetText(), "%d", &port); config->SetLobbyPort((WORD) port); config->SetGamePort((WORD) port+1); } if (edt_admin_port) { int port = 0; - sscanf(edt_admin_port->GetText(), "%d", &port); + sscanf_s(edt_admin_port->GetText(), "%d", &port); config->SetAdminPort((WORD) port); } diff --git a/Stars45/NetUnitDlg.cpp b/Stars45/NetUnitDlg.cpp index 524f1be..9fb0670 100644 --- a/Stars45/NetUnitDlg.cpp +++ b/Stars45/NetUnitDlg.cpp @@ -403,11 +403,11 @@ NetUnitDlg::GetUnits() char team[16]; if (e->GetIndex()) - sprintf(name, "%s %d", e->GetElemName().data(), e->GetIndex()); + sprintf_s(name, "%s %d", e->GetElemName().data(), e->GetIndex()); else - strcpy(name, e->GetElemName().data()); + strcpy_s(name, e->GetElemName().data()); - sprintf(team, "%d", e->GetIFF()); + sprintf_s(team, "%d", e->GetIFF()); Text user_name = e->GetUserName(); @@ -581,7 +581,7 @@ NetUnitDlg::OnBan(AWEvent* event) ConfirmDlg* confirm = manager->GetConfirmDlg(); if (confirm) { char msg[512]; - sprintf(msg, Game::GetText("NetUnitDlg.are-you-sure").data(), u->Name()); + sprintf_s(msg, Game::GetText("NetUnitDlg.are-you-sure").data(), u->Name()); confirm->SetMessage(msg); confirm->SetTitle(Game::GetText("NetUnitDlg.confirm-ban")); confirm->SetParentControl(btn_ban); diff --git a/Stars45/NetUser.cpp b/Stars45/NetUser.cpp index 65ba2f0..acd5274 100644 --- a/Stars45/NetUser.cpp +++ b/Stars45/NetUser.cpp @@ -99,7 +99,7 @@ NetUser::GetDescription() content += SafeQuotes(squadron); char buffer[256]; - sprintf(buffer, "\" rank %d time %d miss %d kill %d loss %d host %s ", + sprintf_s(buffer, "\" rank %d time %d miss %d kill %d loss %d host %s ", rank, flight_time, missions, kills, losses, host ? "true" : "false"); diff --git a/Stars45/NetUser.h b/Stars45/NetUser.h index 31e261c..02fb056 100644 --- a/Stars45/NetUser.h +++ b/Stars45/NetUser.h @@ -71,7 +71,7 @@ public: void SetAuthLevel(int n) { auth_level = n; } void SetAuthState(int n) { auth_state = n; } - void SetSalt(const char* s) { strcpy(salt, s);} + void SetSalt(const char* s) { strcpy_s(salt, s);} void SetSquadron(const char* s) { squadron = s; } void SetSignature(const char* s){ signature = s; } diff --git a/Stars45/Player.cpp b/Stars45/Player.cpp index 201212e..5f947c0 100644 --- a/Stars45/Player.cpp +++ b/Stars45/Player.cpp @@ -941,9 +941,10 @@ Player::Load() int blocklen = 0; char filename[64]; - strcpy(filename, "player.cfg"); + strcpy_s(filename, "player.cfg"); - FILE* f = ::fopen(filename, "rb"); + FILE* f; + ::fopen_s(&f, filename, "rb"); if (f) { config_exists = true; @@ -1139,7 +1140,8 @@ Player::Save() } } - FILE* f = fopen("player.cfg", "w"); + FILE* f; + fopen_s(&f, "player.cfg", "w"); if (f) { fprintf(f, "PLAYER_CONFIG\n\n"); @@ -1219,7 +1221,7 @@ Player::EncodeStats() ZeroMemory(stat_buf, 280); ZeroMemory(code_buf, 280); - sprintf(stat_buf, "%-16s%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x", + sprintf_s(stat_buf, "%-16s%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x", pass.data(), create_date, points, @@ -1282,41 +1284,41 @@ Player::DecodeStats(const char* stats) ZeroMemory(work, 16); CopyMemory(work, stat_buf+16, 8); - sscanf(work, "%x", &create_date); + sscanf_s(work, "%x", &create_date); ZeroMemory(work, 16); CopyMemory(work, stat_buf+24, 8); - sscanf(work, "%x", &points); + sscanf_s(work, "%x", &points); if (points < 0) points = 0; ZeroMemory(work, 16); CopyMemory(work, stat_buf+32, 8); - sscanf(work, "%x", &flight_time); + sscanf_s(work, "%x", &flight_time); if (flight_time < 0) flight_time = 0; ZeroMemory(work, 16); CopyMemory(work, stat_buf+40, 8); - sscanf(work, "%x", &missions); + sscanf_s(work, "%x", &missions); if (missions < 0) missions = 0; ZeroMemory(work, 16); CopyMemory(work, stat_buf+48, 8); - sscanf(work, "%x", &kills); + sscanf_s(work, "%x", &kills); if (kills < 0) kills = 0; ZeroMemory(work, 16); CopyMemory(work, stat_buf+56, 8); - sscanf(work, "%x", &losses); + sscanf_s(work, "%x", &losses); if (losses < 0) losses = 0; if (plain.length() > 64) { ZeroMemory(work, 16); CopyMemory(work, stat_buf+64, 8); - sscanf(work, "%x", &medals); + sscanf_s(work, "%x", &medals); ZeroMemory(work, 16); CopyMemory(work, stat_buf+72, 8); - sscanf(work, "%x", &campaigns); + sscanf_s(work, "%x", &campaigns); } if (create_date == 0) { diff --git a/Stars45/PlayerDlg.cpp b/Stars45/PlayerDlg.cpp index bc31c78..d936fd6 100644 --- a/Stars45/PlayerDlg.cpp +++ b/Stars45/PlayerDlg.cpp @@ -159,10 +159,10 @@ PlayerDlg::ShowPlayer() char flight_time[64], missions[16], kills[16], losses[16], points[16]; FormatTime(flight_time, p->FlightTime()); - sprintf(missions, "%d", p->Missions()); - sprintf(kills, "%d", p->Kills()); - sprintf(losses, "%d", p->Losses()); - sprintf(points, "%d", p->Points()); + sprintf_s(missions, "%d", p->Missions()); + sprintf_s(kills, "%d", p->Kills()); + sprintf_s(losses, "%d", p->Losses()); + sprintf_s(points, "%d", p->Points()); if (lbl_createdate) lbl_createdate->SetText(FormatTimeString(p->CreateDate())); if (lbl_rank) lbl_rank->SetText(Player::RankName(p->Rank())); @@ -295,7 +295,7 @@ PlayerDlg::OnDel(AWEvent* event) ConfirmDlg* confirm = manager->GetConfirmDlg(); if (confirm) { char msg[256]; - sprintf(msg, Game::GetText("PlayerDlg.are-you-sure").data(), + sprintf_s(msg, Game::GetText("PlayerDlg.are-you-sure").data(), Player::GetCurrentPlayer()->Name().data()); confirm->SetMessage(msg); confirm->SetTitle(Game::GetText("PlayerDlg.confirm-delete")); diff --git a/Stars45/QuantumFlash.cpp b/Stars45/QuantumFlash.cpp index 45b5ac7..65a16b7 100644 --- a/Stars45/QuantumFlash.cpp +++ b/Stars45/QuantumFlash.cpp @@ -90,7 +90,7 @@ shade(1.0) radius = (float) length; length = 0; - strcpy(name, "QuantumFlash"); + strcpy_s(name, "QuantumFlash"); } // +--------------------------------------------------------------------+ diff --git a/Stars45/QuantumView.cpp b/Stars45/QuantumView.cpp index 5f3ded2..0fb73c9 100644 --- a/Stars45/QuantumView.cpp +++ b/Stars45/QuantumView.cpp @@ -303,9 +303,9 @@ QuantumView::GetQuantumMenu(Ship* s) char text[64]; if (rgn_system != current_system) - sprintf(text, "%d. %s/%s", n++, rgn_system->Name(), rgn->Name()); + sprintf_s(text, "%d. %s/%s", n++, rgn_system->Name(), rgn->Name()); else - sprintf(text, "%d. %s", n++, rgn->Name()); + sprintf_s(text, "%d. %s", n++, rgn->Name()); quantum_menu->AddItem(text, (DWORD) rgn); } diff --git a/Stars45/RadioHandler.cpp b/Stars45/RadioHandler.cpp index bce8337..8a351c0 100644 --- a/Stars45/RadioHandler.cpp +++ b/Stars45/RadioHandler.cpp @@ -398,7 +398,7 @@ RadioHandler::Inbound(RadioMessage* msg, Ship* ship) else if (!same_rgn) { char info[256]; - sprintf(info, Game::GetText("RadioHandler.too-far-away").data(), ship->GetRegion()->Name()); + sprintf_s(info, Game::GetText("RadioHandler.too-far-away").data(), ship->GetRegion()->Name()); wave_off->SetInfo(info); } @@ -426,12 +426,12 @@ RadioHandler::Inbound(RadioMessage* msg, Ship* ship) if (inbound_slot->Cleared()) { char info[256]; - sprintf(info, Game::GetText("RadioHandler.cleared").data(), deck->Name()); + sprintf_s(info, Game::GetText("RadioHandler.cleared").data(), deck->Name()); approach->SetInfo(info); } else if (sequence) { char info[256]; - sprintf(info, Game::GetText("RadioHandler.sequenced").data(), sequence, deck->Name()); + sprintf_s(info, Game::GetText("RadioHandler.sequenced").data(), sequence, deck->Name()); approach->SetInfo(info); } diff --git a/Stars45/RadioTraffic.cpp b/Stars45/RadioTraffic.cpp index 9e7590c..b5caba0 100644 --- a/Stars45/RadioTraffic.cpp +++ b/Stars45/RadioTraffic.cpp @@ -191,7 +191,7 @@ RadioTraffic::DisplayMessage(RadioMessage* msg) // orders to self? if (dst_elem && dst_elem->NumShips() == 1 && dst_elem->GetShip(1) == sender) { if (msg->Action() >= RadioMessage::CALL_ENGAGING) { - sprintf(src_buf, "%s", sender->Name()); + sprintf_s(src_buf, "%s", sender->Name()); if (sender->IsStarship()) vox_channel = (sender->Identity()%3) + 5; @@ -208,10 +208,10 @@ RadioTraffic::DisplayMessage(RadioMessage* msg) } if (msg->Action() >= RadioMessage::CALL_ENGAGING) { - sprintf(src_buf, "%s", sender->Name()); + sprintf_s(src_buf, "%s", sender->Name()); } else { - sprintf(src_buf, "This is %s", sender->Name()); + sprintf_s(src_buf, "This is %s", sender->Name()); if (dst_ship) { // internal announcement @@ -220,16 +220,16 @@ RadioTraffic::DisplayMessage(RadioMessage* msg) int index = sender->GetElementIndex(); if (index > 1 && dst_elem) { - sprintf(dst_buf, "%s Leader", (const char*) dst_elem->Name()); - sprintf(src_buf, "this is %s %d", (const char*) dst_elem->Name(), index); + sprintf_s(dst_buf, "%s Leader", (const char*) dst_elem->Name()); + sprintf_s(src_buf, "this is %s %d", (const char*) dst_elem->Name(), index); } else { - sprintf(src_buf, "this is %s leader", (const char*) dst_elem->Name()); + sprintf_s(src_buf, "this is %s leader", (const char*) dst_elem->Name()); } } else { - strcpy(dst_buf, (const char*) dst_ship->Name()); + strcpy_s(dst_buf, (const char*) dst_ship->Name()); src_buf[0] = tolower(src_buf[0]); } } @@ -237,25 +237,25 @@ RadioTraffic::DisplayMessage(RadioMessage* msg) else if (dst_elem) { // flight if (dst_elem->NumShips() > 1) { - sprintf(dst_buf, "%s Flight", (const char*) dst_elem->Name()); + sprintf_s(dst_buf, "%s Flight", (const char*) dst_elem->Name()); // internal announcement if (sender->GetElement() == dst_elem) { int index = sender->GetElementIndex(); if (index > 1) { - sprintf(dst_buf, "%s Leader", (const char*) dst_elem->Name()); - sprintf(src_buf, "this is %s %d", (const char*) dst_elem->Name(), index); + sprintf_s(dst_buf, "%s Leader", (const char*) dst_elem->Name()); + sprintf_s(src_buf, "this is %s %d", (const char*) dst_elem->Name(), index); } else { - sprintf(src_buf, "this is %s leader", (const char*) dst_elem->Name()); + sprintf_s(src_buf, "this is %s leader", (const char*) dst_elem->Name()); } } } // solo else { - strcpy(dst_buf, (const char*) dst_elem->Name()); + strcpy_s(dst_buf, (const char*) dst_elem->Name()); src_buf[0] = tolower(src_buf[0]); } } @@ -267,7 +267,7 @@ RadioTraffic::DisplayMessage(RadioMessage* msg) SimObject* target = 0; - strcpy(act_buf, RadioMessage::ActionName(msg->Action())); + strcpy_s(act_buf, RadioMessage::ActionName(msg->Action())); if (msg->TargetList().size() > 0) target = msg->TargetList()[0]; @@ -280,90 +280,90 @@ RadioTraffic::DisplayMessage(RadioMessage* msg) dst_buf[0] = 0; if (msg->Action() == RadioMessage::ACK) - sprintf(msg_buf, "%s.", TranslateVox("Acknowledged").data()); + sprintf_s(msg_buf, "%s.", TranslateVox("Acknowledged").data()); else - sprintf(msg_buf, "%s.", TranslateVox("Unable").data()); + sprintf_s(msg_buf, "%s.", TranslateVox("Unable").data()); } else if (msg->Sender()) { dst_buf[0] = 0; if (msg->Info().length()) { - sprintf(msg_buf, "%s. %s", + sprintf_s(msg_buf, "%s. %s", TranslateVox(act_buf).data(), (const char*) msg->Info()); } else { - sprintf(msg_buf, "%s.", TranslateVox(act_buf).data()); + sprintf_s(msg_buf, "%s.", TranslateVox(act_buf).data()); } } else { if (msg->Info().length()) { - sprintf(msg_buf, "%s. %s", + sprintf_s(msg_buf, "%s. %s", TranslateVox(act_buf).data(), (const char*) msg->Info()); } else { - sprintf(msg_buf, "%s.", TranslateVox(act_buf).data()); + sprintf_s(msg_buf, "%s.", TranslateVox(act_buf).data()); } } } else if (msg->Action() == RadioMessage::MOVE_PATROL) { - sprintf(msg_buf, TranslateVox("Move patrol.").data()); + sprintf_s(msg_buf, TranslateVox("Move patrol.").data()); } else if (target && dst_ship && msg->Sender()) { Contact* c = msg->Sender()->FindContact(target); if (c && c->GetIFF(msg->Sender()) > 10) { - sprintf(msg_buf, "%s %s.", TranslateVox(act_buf).data(), TranslateVox("unknown contact").data()); + sprintf_s(msg_buf, "%s %s.", TranslateVox(act_buf).data(), TranslateVox("unknown contact").data()); } else { - sprintf(msg_buf, "%s %s.", + sprintf_s(msg_buf, "%s %s.", TranslateVox(act_buf).data(), target->Name()); } } else if (target) { - sprintf(msg_buf, "%s %s.", + sprintf_s(msg_buf, "%s %s.", TranslateVox(act_buf).data(), target->Name()); } else if (msg->Info().length()) { - sprintf(msg_buf, "%s %s", + sprintf_s(msg_buf, "%s %s", TranslateVox(act_buf).data(), (const char*) msg->Info()); } else { - strcpy(msg_buf, TranslateVox(act_buf).data()); + strcpy_s(msg_buf, TranslateVox(act_buf).data()); } char last_char = msg_buf[strlen(msg_buf)-1]; if (last_char != '!' && last_char != '.' && last_char != '?') - strcat(msg_buf, "."); + strcat_s(msg_buf, "."); // final format: if (dst_buf[0] && src_buf[0]) { - sprintf(txt_buf, "%s %s. %s", TranslateVox(dst_buf).data(), TranslateVox(src_buf).data(), msg_buf); + sprintf_s(txt_buf, "%s %s. %s", TranslateVox(dst_buf).data(), TranslateVox(src_buf).data(), msg_buf); txt_buf[0] = toupper(txt_buf[0]); } else if (src_buf[0]) { - sprintf(txt_buf, "%s. %s", TranslateVox(src_buf).data(), msg_buf); + sprintf_s(txt_buf, "%s. %s", TranslateVox(src_buf).data(), msg_buf); txt_buf[0] = toupper(txt_buf[0]); } else if (dst_buf[0]) { - sprintf(txt_buf, "%s %s", TranslateVox(dst_buf).data(), msg_buf); + sprintf_s(txt_buf, "%s %s", TranslateVox(dst_buf).data(), msg_buf); txt_buf[0] = toupper(txt_buf[0]); } else { - strcpy(txt_buf, msg_buf); + strcpy_s(txt_buf, msg_buf); } // vox: diff --git a/Stars45/RadioView.cpp b/Stars45/RadioView.cpp index 649db2f..ee757ef 100644 --- a/Stars45/RadioView.cpp +++ b/Stars45/RadioView.cpp @@ -565,14 +565,14 @@ RadioView::GetRadioMenu(Ship* s) if (ship->GetIFF() == elem->GetIFF() && ship->GetElement() != elem.value()) { if (n >= page_offset && n < page_offset+PAGE_SIZE) { char text[64]; - sprintf(text, "%d. %s", n+1 - page_offset, (const char*) elem->Name()); + sprintf_s(text, "%d. %s", n+1 - page_offset, (const char*) elem->Name()); if (elem->IsActive()) { starship_menu->AddMenu(text, elem_menu, (DWORD) elem.value()); } else { - strcat(text, " "); - strcat(text, Game::GetText("RadioView.item.not-avail").data()); + strcat_s(text, " "); + strcat_s(text, Game::GetText("RadioView.item.not-avail").data()); starship_menu->AddItem(text, 0, false); } } @@ -582,7 +582,7 @@ RadioView::GetRadioMenu(Ship* s) if (num_pages > 1) { char text[64]; - sprintf(text, Game::GetText("RadioView.item.next-page").data(), starship_page + 1, num_pages); + sprintf_s(text, Game::GetText("RadioView.item.next-page").data(), starship_page + 1, num_pages); starship_menu->AddItem(text); } diff --git a/Stars45/RadioVox.cpp b/Stars45/RadioVox.cpp index 41aa10d..810f6ac 100644 --- a/Stars45/RadioVox.cpp +++ b/Stars45/RadioVox.cpp @@ -176,8 +176,8 @@ RadioVox::AddPhrase(const char* key) char datapath[256]; char filename[256]; - sprintf(datapath, "Vox/%s/", path.data()); - sprintf(filename, "%s.wav", key); + sprintf_s(datapath, "Vox/%s/", path.data()); + sprintf_s(filename, "%s.wav", key); bool use_fs = loader->IsFileSystemEnabled(); Sound* sound = 0; diff --git a/Stars45/SeekerAI.cpp b/Stars45/SeekerAI.cpp index 86e027f..0fb0adb 100644 --- a/Stars45/SeekerAI.cpp +++ b/Stars45/SeekerAI.cpp @@ -251,7 +251,7 @@ const char* SeekerAI::GetObserverName() const { static char name[64]; - sprintf(name, "SeekerAI(%s)", self->Name()); + sprintf_s(name, "SeekerAI(%s)", self->Name()); return name; } diff --git a/Stars45/Ship.cpp b/Stars45/Ship.cpp index 5fb27e3..690e54c 100644 --- a/Stars45/Ship.cpp +++ b/Stars45/Ship.cpp @@ -123,16 +123,16 @@ friendly_fire_time(0), ward(0), net_observer_mode(false), orig_elem_index(-1) { sim = Sim::GetSim(); - strcpy(name, ship_name); + strcpy_s(name, ship_name); if (reg_num && *reg_num) - strcpy(regnum, reg_num); + strcpy_s(regnum, reg_num); else regnum[0] = 0; design = ship_dsn; if (!design) { char msg[256]; - sprintf(msg, "No ship design found for '%s'\n", ship_name); + sprintf_s(msg, "No ship design found for '%s'\n", ship_name); Game::Panic(msg); } @@ -3818,7 +3818,7 @@ Ship::FindWeaponGroup(const char* name) ListIter iter = weapons; while (!group && ++iter) - if (!stricmp(iter->Name(), name)) + if (!_stricmp(iter->Name(), name)) group = iter.value(); if (!group) { diff --git a/Stars45/Ship.h b/Stars45/Ship.h index 0344cc4..128158e 100644 --- a/Stars45/Ship.h +++ b/Stars45/Ship.h @@ -336,7 +336,7 @@ public: // GENERAL ACCESSORS: const char* Registry() const { return regnum; } - void SetName(const char* ident) { strcpy(name, ident); } + void SetName(const char* ident) { strcpy_s(name, ident); } const ShipDesign* Design() const { return design; } const char* Abbreviation() const; const char* DesignName() const; diff --git a/Stars45/ShipAI.cpp b/Stars45/ShipAI.cpp index b06d20a..f64f8bc 100644 --- a/Stars45/ShipAI.cpp +++ b/Stars45/ShipAI.cpp @@ -203,7 +203,7 @@ const char* ShipAI::GetObserverName() const { static char name[64]; - sprintf(name, "ShipAI(%s)", self->Name()); + sprintf_s(name, "ShipAI(%s)", self->Name()); return name; } diff --git a/Stars45/ShipDesign.cpp b/Stars45/ShipDesign.cpp index 3eee872..3017fcb 100644 --- a/Stars45/ShipDesign.cpp +++ b/Stars45/ShipDesign.cpp @@ -173,12 +173,12 @@ bolt_hit_sound_resource(0), beam_hit_sound_resource(0), lod_levels(0) ZeroMemory(display_name, sizeof(display_name)); ZeroMemory(abrv, sizeof(abrv)); - strcpy(name, n); + strcpy_s(name, n); if (!strstr(fname, ".def")) - sprintf(filename, "%s.def", fname); + sprintf_s(filename, "%s.def", fname); else - strcpy(filename, fname); + strcpy_s(filename, fname); for (int i = 0; i < 4; i++) feature_size[i] = 0.0f; @@ -248,9 +248,9 @@ bolt_hit_sound_resource(0), beam_hit_sound_resource(0), lod_levels(0) if (!secret) Print("Loading ShipDesign '%s'\n", name); - strcpy(path_name, p); + strcpy_s(path_name, p); if (path_name[strlen(path_name)-1] != '/') - strcat(path_name, "/"); + strcat_s(path_name, "/"); // Load Design File: DataLoader* loader = DataLoader::GetLoader(); @@ -371,24 +371,24 @@ bolt_hit_sound_resource(0), beam_hit_sound_resource(0), lod_levels(0) if (abrv[0] == 0) { switch (type) { - case Ship::DRONE: strcpy(abrv, "DR"); break; - case Ship::FIGHTER: strcpy(abrv, "F"); break; - case Ship::ATTACK: strcpy(abrv, "F/A"); break; - case Ship::LCA: strcpy(abrv, "LCA"); break; - case Ship::CORVETTE: strcpy(abrv, "FC"); break; + case Ship::DRONE: strcpy_s(abrv, "DR"); break; + case Ship::FIGHTER: strcpy_s(abrv, "F"); break; + case Ship::ATTACK: strcpy_s(abrv, "F/A"); break; + case Ship::LCA: strcpy_s(abrv, "LCA"); break; + case Ship::CORVETTE: strcpy_s(abrv, "FC"); break; case Ship::COURIER: case Ship::CARGO: - case Ship::FREIGHTER: strcpy(abrv, "MV"); break; - case Ship::FRIGATE: strcpy(abrv, "FF"); break; - case Ship::DESTROYER: strcpy(abrv, "DD"); break; - case Ship::CRUISER: strcpy(abrv, "CA"); break; - case Ship::BATTLESHIP: strcpy(abrv, "BB"); break; - case Ship::CARRIER: strcpy(abrv, "CV"); break; - case Ship::DREADNAUGHT: strcpy(abrv, "DN"); break; - case Ship::MINE: strcpy(abrv, "MINE"); break; - case Ship::COMSAT: strcpy(abrv, "COMS"); break; - case Ship::DEFSAT: strcpy(abrv, "DEFS"); break; - case Ship::SWACS: strcpy(abrv, "SWAC"); break; + case Ship::FREIGHTER: strcpy_s(abrv, "MV"); break; + case Ship::FRIGATE: strcpy_s(abrv, "FF"); break; + case Ship::DESTROYER: strcpy_s(abrv, "DD"); break; + case Ship::CRUISER: strcpy_s(abrv, "CA"); break; + case Ship::BATTLESHIP: strcpy_s(abrv, "BB"); break; + case Ship::CARRIER: strcpy_s(abrv, "CV"); break; + case Ship::DREADNAUGHT: strcpy_s(abrv, "DN"); break; + case Ship::MINE: strcpy_s(abrv, "MINE"); break; + case Ship::COMSAT: strcpy_s(abrv, "COMS"); break; + case Ship::DEFSAT: strcpy_s(abrv, "DEFS"); break; + case Ship::SWACS: strcpy_s(abrv, "SWAC"); break; default: break; } } @@ -609,7 +609,7 @@ ShipDesign::Initialize() if (full_name.contains('/') && !full_name.contains("catalog")) { char path[1024]; - strcpy(path, full_name.data()); + strcpy_s(path, full_name.data()); char* name = path + full_name.length(); while (*name != '/') @@ -1052,7 +1052,7 @@ ShipDesign::ClassForName(const char* name) return 0; for (int i = 0; i < 32; i++) { - if (!stricmp(name, ship_design_class_name[i])) { + if (!_stricmp(name, ship_design_class_name[i])) { return 1 << i; } } @@ -3532,7 +3532,7 @@ ShipDesign::ParseSquadron(TermStruct* val) } ShipSquadron* s = new(__FILE__,__LINE__) ShipSquadron; - strcpy(s->name, name); + strcpy_s(s->name, name); s->design = Get(design); s->count = count; diff --git a/Stars45/Shot.cpp b/Stars45/Shot.cpp index 9b10e87..6f3ee93 100644 --- a/Stars45/Shot.cpp +++ b/Stars45/Shot.cpp @@ -133,7 +133,7 @@ charge(1.0f), design(dsn), offset(1.0e5f), altitude_agl(-1.0e6f), hit_target(fal Observe((SimObject*) owner); } - sprintf(name, "Shot(%s)", design->name); + sprintf_s(name, "Shot(%s)", design->name); } // +--------------------------------------------------------------------+ diff --git a/Stars45/Sim.cpp b/Stars45/Sim.cpp index 74e3e8a..e5482da 100644 --- a/Stars45/Sim.cpp +++ b/Stars45/Sim.cpp @@ -671,7 +671,7 @@ Sim::CreateElements() if (l->GetName().length()) { ListIter sl = ((ShipDesign*) dsn)->loadouts; while (++sl) { - if (!stricmp(sl->name, l->GetName())) + if (!_stricmp(sl->name, l->GetName())) loadout = sl->load; } } @@ -754,7 +754,7 @@ Sim::CreateElements() if (l->GetName().length()) { ListIter sl = ((ShipDesign*) msn_elem->GetDesign())->loadouts; while (++sl) { - if (!stricmp(sl->name, l->GetName())) + if (!_stricmp(sl->name, l->GetName())) loadout = sl->load; } } @@ -879,7 +879,7 @@ Sim::CreateElements() ShipStats* stats = ShipStats::Find(sname); if (stats) { char design[64]; - sprintf(design, "%s %s", ship->Abbreviation(), ship->Design()->display_name); + sprintf_s(design, "%s %s", ship->Abbreviation(), ship->Design()->display_name); stats->SetType(design); stats->SetShipClass(ship->Class()); stats->SetRole(Mission::RoleName(msn_elem->MissionRole())); @@ -3196,8 +3196,8 @@ SimRegion::DestroyShip(Ship* ship) char ship_name[64]; char ship_reg[64]; - strcpy(ship_name, ship->Name()); - strcpy(ship_reg, ship->Registry()); + strcpy_s(ship_name, ship->Name()); + strcpy_s(ship_reg, ship->Registry()); ShipDesign* ship_design = (ShipDesign*) ship->Design(); int ship_iff = ship->GetIFF(); @@ -3372,7 +3372,7 @@ SimRegion::DockShips() // then delete the ship: int player_docked = (player_ship == ship); char ship_name[33]; - strcpy(ship_name, ship->Name()); + strcpy_s(ship_name, ship->Name()); selection.remove(ship); dead_ships.insert(ship_iter.removeItem()); @@ -3802,9 +3802,9 @@ const char* FormatGameTime() int e = ( t - h*3600000 - m*60000 - s*1000); if (h > 0) - sprintf(txt, "%02d:%02d:%02d.%03d", h,m,s,e); + sprintf_s(txt, "%02d:%02d:%02d.%03d", h,m,s,e); else - sprintf(txt, "%02d:%02d.%03d", m,s,e); + sprintf_s(txt, "%02d:%02d.%03d", m,s,e); return txt; } diff --git a/Stars45/SimObject.cpp b/Stars45/SimObject.cpp index b414e03..b753398 100644 --- a/Stars45/SimObject.cpp +++ b/Stars45/SimObject.cpp @@ -61,7 +61,7 @@ const char* SimObserver::GetObserverName() const { static char name[32]; - sprintf(name, "SimObserver 0x%08x", (DWORD) this); + sprintf_s(name, "SimObserver 0x%08x", (DWORD) this); return name; } diff --git a/Stars45/Sky.cpp b/Stars45/Sky.cpp index 4f4ffbb..3d3095b 100644 --- a/Stars45/Sky.cpp +++ b/Stars45/Sky.cpp @@ -49,7 +49,7 @@ Stars::Stars(int nstars) vset->specular[i] = 0; } - strcpy(name, "Stars"); + strcpy_s(name, "Stars"); } Stars::~Stars() @@ -97,7 +97,7 @@ Dust::Dust(int ndust, bool b) vset = new(__FILE__,__LINE__) VertexSet(ndust); Reset(Point(0, 0, 0)); - strcpy(name, "Dust"); + strcpy_s(name, "Dust"); } // +--------------------------------------------------------------------+ @@ -270,10 +270,10 @@ Color atmos, const char* gloss_name) if (bmp_spec && Video::GetInstance()->IsSpecMapEnabled()) { if (glow_name && strstr(glow_name, "light")) - strcpy(mtl_surf->shader, "SimplePix/PlanetSurfNightLight"); + strcpy_s(mtl_surf->shader, "SimplePix/PlanetSurfNightLight"); else if (glow_name) - strcpy(mtl_surf->shader, "SimplePix/PlanetSurf"); + strcpy_s(mtl_surf->shader, "SimplePix/PlanetSurf"); } if (atmosphere != Color::Black) { @@ -281,7 +281,7 @@ Color atmos, const char* gloss_name) mtl_limb->Ka = atmosphere; - strcpy(mtl_limb->shader, "PlanetLimb"); + strcpy_s(mtl_limb->shader, "PlanetLimb"); Print(" loading atmospheric limb texture PlanetLimb.pcx\n"); loader->LoadTexture("PlanetLimb.pcx", bmp_limb, Bitmap::BMP_TRANSLUCENT, true); diff --git a/Stars45/StarServer.cpp b/Stars45/StarServer.cpp index 1ce7931..96b34a0 100644 --- a/Stars45/StarServer.cpp +++ b/Stars45/StarServer.cpp @@ -427,7 +427,7 @@ StarServer::OnPaint() txt_mode = Game::GetText("server.mode.lobby"); if (lobby_server) { - sprintf(buf, Game::GetText("server.users").data(), lobby_server->NumUsers()); + sprintf_s(buf, Game::GetText("server.users").data(), lobby_server->NumUsers()); txt_users = buf; } break; @@ -435,10 +435,10 @@ StarServer::OnPaint() case PLAY_MODE: txt_mode = Game::GetText("server.mode.active"); if (lobby_server) { - sprintf(buf, Game::GetText("server.users-and-players").data(), lobby_server->NumUsers(), NetGame::NumPlayers()); + sprintf_s(buf, Game::GetText("server.users-and-players").data(), lobby_server->NumUsers(), NetGame::NumPlayers()); } else { - sprintf(buf, Game::GetText("server.players").data(), NetGame::NumPlayers()); + sprintf_s(buf, Game::GetText("server.players").data(), NetGame::NumPlayers()); } txt_users = buf; break; @@ -496,7 +496,7 @@ DWORD WINAPI StarServerRestartProc(LPVOID link) if (stars) { char cmdline[256]; - strcpy(cmdline, "StarDemo -server"); + strcpy_s(cmdline, "StarDemo -server"); STARTUPINFO s; ZeroMemory(&s, sizeof(s)); @@ -514,7 +514,7 @@ DWORD WINAPI StarServerRestartProc(LPVOID link) if (stars) { char cmdline[256]; - strcpy(cmdline, "stars -server"); + strcpy_s(cmdline, "stars -server"); STARTUPINFO s; ZeroMemory(&s, sizeof(s)); diff --git a/Stars45/StarSystem.cpp b/Stars45/StarSystem.cpp index 59a7fea..e04225b 100644 --- a/Stars45/StarSystem.cpp +++ b/Stars45/StarSystem.cpp @@ -146,7 +146,7 @@ StarSystem::Load() DataLoader* loader = DataLoader::GetLoader(); datapath = loader->GetDataPath(); - sprintf(filename, "%s/%s.def", (const char*) name, (const char*) name); + sprintf_s(filename, "%s/%s.def", (const char*) name, (const char*) name); Print("Loading StarSystem: %s\n", filename); loader->LoadBuffer(filename, block, true); @@ -1611,34 +1611,34 @@ StarSystem::FindOrbital(const char* name) ListIter star = bodies; while (++star) { - if (!stricmp(star->Name(), name)) + if (!_stricmp(star->Name(), name)) return star.value(); ListIter star_rgn = star->Regions(); while (++star_rgn) { - if (!stricmp(star_rgn->Name(), name)) + if (!_stricmp(star_rgn->Name(), name)) return star_rgn.value(); } ListIter planet = star->Satellites(); while (++planet) { - if (!stricmp(planet->Name(), name)) + if (!_stricmp(planet->Name(), name)) return planet.value(); ListIter planet_rgn = planet->Regions(); while (++planet_rgn) { - if (!stricmp(planet_rgn->Name(), name)) + if (!_stricmp(planet_rgn->Name(), name)) return planet_rgn.value(); } ListIter moon = planet->Satellites(); while (++moon) { - if (!stricmp(moon->Name(), name)) + if (!_stricmp(moon->Name(), name)) return moon.value(); ListIter moon_rgn = moon->Regions(); while (++moon_rgn) { - if (!stricmp(moon_rgn->Name(), name)) + if (!_stricmp(moon_rgn->Name(), name)) return moon_rgn.value(); } } @@ -1647,7 +1647,7 @@ StarSystem::FindOrbital(const char* name) ListIter region = regions; while (++region) { - if (!stricmp(region->Name(), name)) + if (!_stricmp(region->Name(), name)) return region.value(); } @@ -1664,7 +1664,7 @@ StarSystem::FindRegion(const char* name) ListIter region = all_regions; while (++region) { - if (!stricmp(region->Name(), name)) + if (!_stricmp(region->Name(), name)) return region.value(); } diff --git a/Stars45/SteerAI.cpp b/Stars45/SteerAI.cpp index db417e3..6d8b88e 100644 --- a/Stars45/SteerAI.cpp +++ b/Stars45/SteerAI.cpp @@ -166,7 +166,7 @@ const char* SteerAI::GetObserverName() const { static char name[64]; - sprintf(name, "SteerAI(%s)", self->Name()); + sprintf_s(name, "SteerAI(%s)", self->Name()); return name; } diff --git a/Stars45/TacRefDlg.cpp b/Stars45/TacRefDlg.cpp index 1219612..a298e34 100644 --- a/Stars45/TacRefDlg.cpp +++ b/Stars45/TacRefDlg.cpp @@ -193,7 +193,7 @@ TacRefDlg::SelectShip(const ShipDesign* design) if (design) { char txt[256]; - sprintf(txt, "%s %s", design->abrv, design->DisplayName()); + sprintf_s(txt, "%s %s", design->abrv, design->DisplayName()); txt_caption->SetText(txt); } } @@ -205,10 +205,10 @@ TacRefDlg::SelectShip(const ShipDesign* design) Text desc; char txt[256]; - sprintf(txt, "%s\t\t\t%s\n", Game::GetText("tacref.type").data(), Ship::ClassName(design->type)); + sprintf_s(txt, "%s\t\t\t%s\n", Game::GetText("tacref.type").data(), Ship::ClassName(design->type)); desc += txt; - sprintf(txt, "%s\t\t\t%s\n", Game::GetText("tacref.class").data(), design->DisplayName()); + sprintf_s(txt, "%s\t\t\t%s\n", Game::GetText("tacref.class").data(), design->DisplayName()); desc += txt; desc += Game::GetText("tacref.length"); desc += "\t\t"; @@ -218,19 +218,19 @@ TacRefDlg::SelectShip(const ShipDesign* design) else FormatNumber(txt, design->radius*2); - strcat(txt, " m\n"); + strcat_s(txt, " m\n"); desc += txt; desc += Game::GetText("tacref.mass"); desc += "\t\t\t"; FormatNumber(txt, design->mass); - strcat(txt, " T\n"); + strcat_s(txt, " T\n"); desc += txt; desc += Game::GetText("tacref.hull"); desc += "\t\t\t"; FormatNumber(txt, design->integrity); - strcat(txt, "\n"); + strcat_s(txt, "\n"); desc += txt; if (design->weapons.size()) { @@ -248,14 +248,14 @@ TacRefDlg::SelectShip(const ShipDesign* design) for (int g = 0; g < 8; g++) { WepGroup* group = &groups[g]; if (group && group->count) { - sprintf(txt, "\t\t%s (%d)\n\t\t", group->name.data(), group->count); + sprintf_s(txt, "\t\t%s (%d)\n\t\t", group->name.data(), group->count); desc += txt; for (int w = 0; w < design->weapons.size(); w++) { Weapon* gun = design->weapons[w]; if (group->name == gun->Group()) { - sprintf(txt, "\t\t\t%s\n\t\t", (const char*) gun->Design()->name); + sprintf_s(txt, "\t\t\t%s\n\t\t", (const char*) gun->Design()->name); desc += txt; } } @@ -607,7 +607,7 @@ TacRefDlg::OnMode(AWEvent* event) if (dsn) { char txt[256]; - sprintf(txt, "%s %s", dsn->abrv, dsn->DisplayName()); + sprintf_s(txt, "%s %s", dsn->abrv, dsn->DisplayName()); lst_designs->AddItemWithData(txt, (DWORD) dsn); } diff --git a/Stars45/TacticalView.cpp b/Stars45/TacticalView.cpp index f1d5106..2245691 100644 --- a/Stars45/TacticalView.cpp +++ b/Stars45/TacticalView.cpp @@ -347,27 +347,27 @@ TacticalView::DrawSelectionInfo(Ship* seln) if (shield_val < 0) shield_val = 0; if (hull_val < 0) hull_val = 0; - sprintf(name, "%s", seln->Name()); + sprintf_s(name, "%s", seln->Name()); if (show_labels) { - sprintf(shield, "%s %03d", Game::GetText("HUDView.symbol.shield").data(), shield_val); - sprintf(hull, "%s %03d", Game::GetText("HUDView.symbol.hull").data(), hull_val); + sprintf_s(shield, "%s %03d", Game::GetText("HUDView.symbol.shield").data(), shield_val); + sprintf_s(hull, "%s %03d", Game::GetText("HUDView.symbol.hull").data(), hull_val); } else { - sprintf(shield, "%03d", shield_val); - sprintf(hull, "%03d", hull_val); + sprintf_s(shield, "%03d", shield_val); + sprintf_s(hull, "%03d", hull_val); } FormatNumberExp(range, Point(seln->Location()-ship->Location()).length()/1000); - strcat(range, " km"); - sprintf(heading, "%03d %s", (int) (seln->CompassHeading() / DEGREES), Game::GetText("HUDView.symbol.degrees").data()); + strcat_s(range, " km"); + sprintf_s(heading, "%03d %s", (int) (seln->CompassHeading() / DEGREES), Game::GetText("HUDView.symbol.degrees").data()); double ss = seln->Velocity().length(); if (seln->Velocity() * seln->Heading() < 0) ss = -ss; FormatNumberExp(speed, ss); - strcat(speed, " m/s"); + strcat_s(speed, " m/s"); Contact* contact = 0; @@ -378,7 +378,7 @@ TacticalView::DrawSelectionInfo(Ship* seln) if (c->GetShip() == seln) { contact = c.value(); if (c->GetIFF(ship) > seln->GetIFF()) { - sprintf(name, "%s %04d", Game::GetText("TacView.contact").data(), seln->GetContactID()); + sprintf_s(name, "%s %04d", Game::GetText("TacView.contact").data(), seln->GetContactID()); full_info = false; } @@ -424,7 +424,7 @@ TacticalView::DrawSelectionInfo(Ship* seln) info_rect.y += 10; if (full_info) { - sprintf(design, "%s %s", seln->Abbreviation(), seln->Design()->display_name); + sprintf_s(design, "%s %s", seln->Abbreviation(), seln->Design()->display_name); font->DrawText(design, 0, info_rect, DT_LEFT); info_rect.y += 10; } @@ -458,11 +458,11 @@ TacticalView::DrawSelectionInfo(Ship* seln) if (seln->GetIFF() == ship->GetIFF()) { Instruction* instr = seln->GetRadioOrders(); if (instr && instr->Action()) { - strcpy(orders, RadioMessage::ActionName(instr->Action())); + strcpy_s(orders, RadioMessage::ActionName(instr->Action())); if (instr->Action() == RadioMessage::QUANTUM_TO) { - strcat(orders, " "); - strcat(orders, instr->RegionName()); + strcat_s(orders, " "); + strcat_s(orders, instr->RegionName()); } } else { @@ -481,11 +481,11 @@ TacticalView::DrawSelectionInfo(Ship* seln) } } else { - sprintf(psv, "%03d", (int) (contact->PasReturn() * 100.0)); - sprintf(act, "%03d", (int) (contact->ActReturn() * 100.0)); + sprintf_s(psv, "%03d", (int) (contact->PasReturn() * 100.0)); + sprintf_s(act, "%03d", (int) (contact->ActReturn() * 100.0)); if (contact->Threat(ship)) - strcat(psv, " !"); + strcat_s(psv, " !"); font->DrawText(psv, 0, info_rect, DT_LEFT); info_rect.y += 10; @@ -509,7 +509,7 @@ TacticalView::DrawSelectionList(ListIter seln) while (++seln) { char name[64]; - sprintf(name, "%s", seln->Name()); + sprintf_s(name, "%s", seln->Name()); // always recognize ownside: if (seln->GetIFF() != ship->GetIFF()) { @@ -517,7 +517,7 @@ TacticalView::DrawSelectionList(ListIter seln) while (++c) { if (c->GetShip() == seln.value()) { if (c->GetIFF(ship) > seln->GetIFF()) { - sprintf(name, "%s %04d", Game::GetText("TacView.contact").data(), seln->GetContactID()); + sprintf_s(name, "%s %04d", Game::GetText("TacView.contact").data(), seln->GetContactID()); } break; diff --git a/Stars45/TerrainApron.cpp b/Stars45/TerrainApron.cpp index 5c5a139..fdc9958 100644 --- a/Stars45/TerrainApron.cpp +++ b/Stars45/TerrainApron.cpp @@ -115,7 +115,7 @@ TerrainApron::BuildApron() mtl->Ks = Color::Black; mtl->tex_diffuse = terrain->ApronTexture(); - strcpy(mtl->name, "Terrain Apron"); + strcpy_s(mtl->name, "Terrain Apron"); model->GetMaterials().append(mtl); diff --git a/Stars45/TerrainClouds.cpp b/Stars45/TerrainClouds.cpp index 2c1f4b8..9b0e821 100644 --- a/Stars45/TerrainClouds.cpp +++ b/Stars45/TerrainClouds.cpp @@ -73,14 +73,14 @@ TerrainClouds::BuildClouds() Bitmap* cloud_texture = terrain->CloudTexture(type); Bitmap* shade_texture = terrain->ShadeTexture(type); - strcpy(mtl_cloud.name, "cloud"); + strcpy_s(mtl_cloud.name, "cloud"); mtl_cloud.Ka = Color::White; mtl_cloud.Kd = Color::White; mtl_cloud.luminous = true; mtl_cloud.blend = Material::MTL_TRANSLUCENT; mtl_cloud.tex_diffuse = cloud_texture; - strcpy(mtl_shade.name, "shade"); + strcpy_s(mtl_shade.name, "shade"); mtl_shade.Ka = Color::White; mtl_shade.Kd = Color::White; mtl_shade.luminous = true; diff --git a/Stars45/TerrainPatch.cpp b/Stars45/TerrainPatch.cpp index c04b5f5..a03ccd6 100644 --- a/Stars45/TerrainPatch.cpp +++ b/Stars45/TerrainPatch.cpp @@ -192,7 +192,7 @@ double sea_level) mtl->power = 30.0f; mtl->shadow = false; mtl->tex_diffuse = terrain->WaterTexture(); - //strcpy(mtl->shader, "WaterReflections"); + //strcpy_s(mtl->shader, "WaterReflections"); materials.append(mtl); water = terrain->GetWater(1); diff --git a/Stars45/VidDlg.cpp b/Stars45/VidDlg.cpp index 489d439..67a5270 100644 --- a/Stars45/VidDlg.cpp +++ b/Stars45/VidDlg.cpp @@ -379,9 +379,9 @@ VidDlg::Apply() FILE* f = 0; if (video_change) - f = fopen("video2.cfg", "w"); + fopen_s(&f, "video2.cfg", "w"); else - f = fopen("video.cfg", "w"); + fopen_s(&f, "video.cfg", "w"); if (gamma) { g = gamma->GetValue(); @@ -480,32 +480,32 @@ VidDlg::BuildModeList() if (stars && video) { switch (video->Width()) { - case 800: strcpy(mode_desc, "800 x 600 x "); break; + case 800: strcpy_s(mode_desc, "800 x 600 x "); break; default: - case 1024: strcpy(mode_desc, "1024 x 768 x "); break; - case 1152: strcpy(mode_desc, "1152 x 864 x "); break; + case 1024: strcpy_s(mode_desc, "1024 x 768 x "); break; + case 1152: strcpy_s(mode_desc, "1152 x 864 x "); break; case 1280: if (video->Height() < 900) - strcpy(mode_desc, "1280 x 800 x "); + strcpy_s(mode_desc, "1280 x 800 x "); if (video->Height() < 1000) - strcpy(mode_desc, "1280 x 960 x "); + strcpy_s(mode_desc, "1280 x 960 x "); else - strcpy(mode_desc, "1280 x 1024 x "); + strcpy_s(mode_desc, "1280 x 1024 x "); break; - case 1440: strcpy(mode_desc, "1440 x 900 x "); break; + case 1440: strcpy_s(mode_desc, "1440 x 900 x "); break; case 1600: if (video->Height() < 1000) - strcpy(mode_desc, "1600 x 900 x "); + strcpy_s(mode_desc, "1600 x 900 x "); else - strcpy(mode_desc, "1600 x 1200 x "); + strcpy_s(mode_desc, "1600 x 1200 x "); break; } switch (video->Depth()) { default: - case 8: strcat(mode_desc, "8"); break; - case 16: strcat(mode_desc, "16"); break; - case 32: strcat(mode_desc, "32"); break; + case 8: strcat_s(mode_desc, "8"); break; + case 16: strcat_s(mode_desc, "16"); break; + case 32: strcat_s(mode_desc, "32"); break; } for (int i = 0; i < mode->GetCount(); i++) { diff --git a/Stars45/Weapon.cpp b/Stars45/Weapon.cpp index 93a7da7..26e6a8d 100644 --- a/Stars45/Weapon.cpp +++ b/Stars45/Weapon.cpp @@ -410,7 +410,7 @@ const char* Weapon::GetObserverName() const { static char name[256]; - sprintf(name, "Weapon %s", design->name); + sprintf_s(name, "Weapon %s", design->name); return name; } diff --git a/Stars45/WeaponDesign.cpp b/Stars45/WeaponDesign.cpp index b16f4d2..524e50e 100644 --- a/Stars45/WeaponDesign.cpp +++ b/Stars45/WeaponDesign.cpp @@ -440,13 +440,13 @@ WeaponDesign::LoadDesign(const char* path, const char* filename, bool mod) char typestr[32]; GetDefText(typestr, pdef, filename); - if (!stricmp(typestr, "normal")) + if (!_stricmp(typestr, "normal")) design->damage_type = DMG_NORMAL; - else if (!stricmp(typestr, "emp")) + else if (!_stricmp(typestr, "emp")) design->damage_type = DMG_EMP; - else if (!stricmp(typestr, "power")) + else if (!_stricmp(typestr, "power")) design->damage_type = DMG_POWER; else -- cgit v1.1