]> git.localhorst.tv Git - l2e.git/blobdiff - src/loader/utility.cpp
resolve inclusion path name in Parser
[l2e.git] / src / loader / utility.cpp
diff --git a/src/loader/utility.cpp b/src/loader/utility.cpp
new file mode 100644 (file)
index 0000000..ee88ea0
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * utility.cpp
+ *
+ *  Created on: Sep 1, 2012
+ *      Author: holy
+ */
+
+#include "utility.h"
+
+#include <cstring>
+#include <libgen.h>
+
+using std::string;
+
+namespace loader {
+
+string Dirname(const string &path) {
+       // unix version
+       char *str(new char[path.size() + 1]);
+       std::memcpy(str, path.c_str(), path.size());
+       str[path.size()] = '\0';
+       string dn(dirname(str));
+       delete str;
+       return dn;
+}
+
+string CatPath(const string &lhs, const string &rhs) {
+       // unix version
+       string path(lhs);
+       if (!path.empty() && path[path.size() - 1] != '/') {
+               path += '/';
+       }
+       if (!rhs.empty() && rhs[0] == '/') {
+               path.append(rhs, 1, string::npos);
+       } else {
+               path += rhs;
+       }
+       return path;
+}
+
+}