@@ -515,8 +515,14 @@ [desc appendFormat: @"?%@", query]; if (fragment != nil) [desc appendFormat: @"#%@", fragment]; + /* + * Class swizzle the string to be immutable. We declared the return type + * to be OFString*, so it can't be modified anyway. But not swizzling it + * would create a real copy each time -[copy] is called. + */ + desc->isa = [OFString class]; return desc; } @end