From d737bab161265495249e97ecd863df83aad7b4b5 Mon Sep 17 00:00:00 2001 From: "Hoa V. DINH" Date: Sat, 13 Apr 2013 09:43:21 -0700 Subject: Added String::stringByAppendingPathComponent() --- src/core/basetypes/MCString.cc | 14 ++++++++++++++ src/core/basetypes/MCString.h | 1 + 2 files changed, 15 insertions(+) (limited to 'src') diff --git a/src/core/basetypes/MCString.cc b/src/core/basetypes/MCString.cc index ae3c78f0..52fbbb1c 100644 --- a/src/core/basetypes/MCString.cc +++ b/src/core/basetypes/MCString.cc @@ -1847,6 +1847,20 @@ String * String::stringWithFileSystemRepresentation(const char * filename) return stringWithUTF8Characters(filename); } +String * String::stringByAppendingPathComponent(String * component) +{ + String * result = (String *) this->copy()->autorelease(); + if (result->length() > 0) { + UChar lastChar = result->unicodeCharacters()[result->length() - 1]; + if (lastChar != '/') { + result->appendUTF8Characters("/"); + } + } + result->appendString(component); + return result; +} + + Array * String::componentsSeparatedByString(String * separator) { UChar * p; diff --git a/src/core/basetypes/MCString.h b/src/core/basetypes/MCString.h index a8809bb1..c7da4788 100644 --- a/src/core/basetypes/MCString.h +++ b/src/core/basetypes/MCString.h @@ -53,6 +53,7 @@ namespace mailcore { virtual String * stringByAppendingUTF8Format(const char * format, ...); virtual String * stringByAppendingUTF8Characters(const char * UTF8Characters); virtual String * stringByAppendingCharacters(const UChar * unicodeCharacters); + virtual String * stringByAppendingPathComponent(String * component); virtual int compare(String * otherString); virtual int caseInsensitiveCompare(String * otherString); -- cgit v1.2.3