Implemented initialisers for NSMutableString

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@7953 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2000-10-31 18:11:30 +00:00
parent 42011ceae4
commit 8894c52b34
2 changed files with 43 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2000-10-31 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSString.m: Implemented
([-initWithCharactersNoCopy:length:freeWhenDone:]) and
([-initWithCStringNoCopy:length:freeWhenDone:]) for NSMutableString.
2000-10-31 Richard Frith-Macdonald <rfm@gnu.org>
Loads of files modified, fast.x removed.

View file

@ -3044,14 +3044,49 @@ handle_printf_atsign (FILE *stream,
return self;
}
// Initializing Newly Allocated Strings
// Designated initialiser
- (id) initWithCapacity: (unsigned)capacity
{
[self subclassResponsibility: _cmd];
return self;
}
- (id) initWithCharactersNoCopy: (unichar*)chars
length: (unsigned)length
freeWhenDone: (BOOL)flag
{
if ((self = [self initWithCapacity: length]) != nil && length > 0)
{
NSString *tmp;
tmp = [NSString allocWithZone: NSDefaultMallocZone()];
tmp = [tmp initWithCharactersNoCopy: chars
length: length
freeWhenDone: flag];
[self replaceCharactersInRange: NSMakeRange(0,0) withString: tmp];
RELEASE(tmp);
}
return self;
}
- (id) initWithCStringNoCopy: (char*)chars
length: (unsigned)length
freeWhenDone: (BOOL)flag
{
if ((self = [self initWithCapacity: length]) != nil && length > 0)
{
NSString *tmp;
tmp = [NSString allocWithZone: NSDefaultMallocZone()];
tmp = [tmp initWithCStringNoCopy: chars
length: length
freeWhenDone: flag];
[self replaceCharactersInRange: NSMakeRange(0,0) withString: tmp];
RELEASE(tmp);
}
return self;
}
// Modify A String
- (void) appendString: (NSString*)aString