-/*
- * utility.cpp
- *
- * Created on: Sep 1, 2012
- * Author: holy
- */
-
#include "utility.h"
#include <cstring>
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 CatPath(const string &lhs, const string &rhs) {
- // unix version
string path(lhs);
- if (!path.empty() && path[path.size() - 1] != '/') {
+ if (!path.empty()
+ && path[path.size() - 1] != '/'
+ && path[path.size() - 1] != '\\') {
path += '/';
}
- if (!rhs.empty() && rhs[0] == '/') {
+ if (!rhs.empty() && (rhs[0] == '/' || rhs[0] == '\\')) {
path.append(rhs, 1, string::npos);
} else {
path += rhs;