blob: f960d1fde48be990f39798c66910312167873147 [file] [log] [blame]
/*
* Copyright 2011 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "src/utils/SkOSPath.h"
#include "include/core/SkTypes.h"
#include <string.h>
SkString SkOSPath::Join(const char *rootPath, const char *relativePath) {
SkString result(rootPath);
if (!result.endsWith(SEPARATOR) && !result.isEmpty()) {
result.appendUnichar(SEPARATOR);
}
result.append(relativePath);
return result;
}
SkString SkOSPath::Basename(const char* fullPath) {
if (!fullPath) {
return SkString();
}
const char* filename = strrchr(fullPath, SEPARATOR);
if (nullptr == filename) {
filename = fullPath;
} else {
++filename;
}
return SkString(filename);
}
SkString SkOSPath::Dirname(const char* fullPath) {
if (!fullPath) {
return SkString();
}
const char* end = strrchr(fullPath, SEPARATOR);
if (nullptr == end) {
return SkString();
}
if (end == fullPath) {
SkASSERT(fullPath[0] == SEPARATOR);
++end;
}
return SkString(fullPath, end - fullPath);
}