diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-10-27 07:03:08 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-10-27 07:03:08 +0000 |
commit | 6bc7d2c1ecd6a79545fdf83a9b8b054190d56ed2 (patch) | |
tree | 71328d8cf531a1e2e77ff3b89ba052e75bab78df /src | |
parent | 02e8724bbd180904fd9fdec47ae32e1e45fa37aa (diff) |
Allow relative paths for motd and rules (and anything that uses ReadFile)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5546 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r-- | src/configreader.cpp | 16 | ||||
-rw-r--r-- | src/modules/m_check.cpp | 2 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/configreader.cpp b/src/configreader.cpp index 1059770b4..e0e249963 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -1271,7 +1271,21 @@ bool ServerConfig::ReadFile(file_cache &F, const char* fname) char linebuf[MAXBUF]; F.clear(); - file = fopen(fname, "r"); + + if (*fname != '/') + { + std::string::size_type pos; + std::string confpath = CONFIG_FILE; + if((pos = confpath.find("/inspircd.conf")) != std::string::npos) + { + /* Leaves us with just the path */ + std::string newfile = confpath.substr(0, pos) + std::string("/") + newfile; + file = fopen(newfile.c_str(), "r"); + + } + } + else + file = fopen(fname, "r"); if (file) { diff --git a/src/modules/m_check.cpp b/src/modules/m_check.cpp index 6a4bcc84f..3a8b8dd92 100644 --- a/src/modules/m_check.cpp +++ b/src/modules/m_check.cpp @@ -123,7 +123,7 @@ class cmd_check : public command_t /* * Unlike Asuka, I define a clone as coming from the same host. --w00t */ - snprintf(tmpbuf, MAXBUF, "%d %s%s (%s@%s) %s ", i->second->GlobalCloneCount(), targchan->GetAllPrefixChars(i->second), i->second->nick, i->second->ident, i->second->dhost, i->second->fullname); + snprintf(tmpbuf, MAXBUF, "%lu %s%s (%s@%s) %s ", i->second->GlobalCloneCount(), targchan->GetAllPrefixChars(i->second), i->second->nick, i->second->ident, i->second->dhost, i->second->fullname); user->WriteServ(checkstr + " member " + tmpbuf); } } |