]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/fileutils.cpp
Convert the ISO 8859-2 nationalchars files to codepage configs.
[user/henk/code/inspircd.git] / src / fileutils.cpp
index 0d4438a77295d951c3ab5cf07a1ee32a30678ce0..8f78745fa7b0000b15b9f3e6dc6905f3a3de82fb 100644 (file)
@@ -1,7 +1,8 @@
 /*
  * InspIRCd -- Internet Relay Chat Daemon
  *
- *   Copyright (C) 2013 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2013, 2019-2020 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2013 Attila Molnar <attilamolnar@hush.com>
  *
  * This file is part of InspIRCd.  InspIRCd is free software: you can
  * redistribute it and/or modify it under the terms of the GNU General Public
@@ -75,6 +76,14 @@ std::string FileSystem::ExpandPath(const std::string& base, const std::string& f
        if (fragment[0] == '/' || FileSystem::StartsWithWindowsDriveLetter(fragment))
                return fragment;
 
+       // The fragment is relative to a home directory, expand that.
+       if (!fragment.compare(0, 2, "~/", 2))
+       {
+               const char* homedir = getenv("HOME");
+               if (homedir && *homedir)
+                       return std::string(homedir) + '/' + fragment.substr(2);
+       }
+
        return base + '/' + fragment;
 }