1
0
mirror of https://github.com/anope/anope.git synced 2026-07-08 01:23:14 +02:00

Use fstream for accessing files where possible.

This commit is contained in:
Sadie Powell
2024-02-26 23:49:36 +00:00
parent 1e87849e5c
commit eb658f87a3
2 changed files with 15 additions and 26 deletions
+6 -13
View File
@@ -217,19 +217,12 @@ static void remove_pidfile()
static void write_pidfile()
{
FILE *pidfile = fopen(Config->GetBlock("serverinfo")->Get<const Anope::string>("pid").c_str(), "w");
if (pidfile)
{
#ifdef _WIN32
fprintf(pidfile, "%d\n", static_cast<int>(GetCurrentProcessId()));
#else
fprintf(pidfile, "%d\n", static_cast<int>(getpid()));
#endif
fclose(pidfile);
atexit(remove_pidfile);
}
else
throw CoreException("Can not write to PID file " + Config->GetBlock("serverinfo")->Get<const Anope::string>("pid"));
const auto pidfile = Config->GetBlock("serverinfo")->Get<const Anope::string>("pid");
std::ofstream stream(pidfile.str());
if (!stream.is_open())
throw CoreException("Can not write to PID file " + pidfile);
stream << getpid() << std::endl;
atexit(remove_pidfile);
}
static void setuidgid()
+9 -13
View File
@@ -240,21 +240,17 @@ void MOTD::Run(MessageSource &source, const std::vector<Anope::string> &params,
if (s != Me)
return;
FILE *f = fopen(Config->GetBlock("serverinfo")->Get<const Anope::string>("motd").c_str(), "r");
if (f)
std::ifstream stream(Config->GetBlock("serverinfo")->Get<const Anope::string>("motd").str());
if (!stream.is_open())
{
IRCD->SendNumeric(375, source.GetSource(), "- " + s->GetName() + " Message of the Day");
char buf[BUFSIZE];
while (fgets(buf, sizeof(buf), f))
{
buf[strlen(buf) - 1] = 0;
IRCD->SendNumeric(372, source.GetSource(), Anope::printf("- %s", buf));
}
fclose(f);
IRCD->SendNumeric(376, source.GetSource(), "End of /MOTD command.");
}
else
IRCD->SendNumeric(422, source.GetSource(), "- MOTD file not found! Please contact your IRC administrator.");
return;
}
IRCD->SendNumeric(375, source.GetSource(), "- " + s->GetName() + " Message of the Day");
for (Anope::string line; std::getline(stream, line.str()); )
IRCD->SendNumeric(372, source.GetSource(), Anope::printf("- %s", line.c_str()));
IRCD->SendNumeric(376, source.GetSource(), "End of /MOTD command.");
}
void Notice::Run(MessageSource &source, const std::vector<Anope::string> &params, const Anope::map<Anope::string> &tags)