@@ -27,10 +27,23 @@ @implementation OFString (PathAdditions) + (OFString *)pathWithComponents: (OFArray *)components { return [components componentsJoinedByString: @"\\"]; } + +- (bool)isAbsolutePath +{ + void *pool = objc_autoreleasePoolPush(); + const char *UTF8String = [self UTF8String]; + size_t UTF8StringLength = [self UTF8StringLength]; + bool ret = (UTF8StringLength >= 3 && UTF8String[1] == ':' && + (UTF8String[2] == '\\' || UTF8String[2] == '/')); + + objc_autoreleasePoolPop(pool); + + return ret; +} - (OFArray *)pathComponents { OFMutableArray OF_GENERIC(OFString *) *ret = [OFMutableArray array]; void *pool = objc_autoreleasePoolPush();