fix error replacing strings in a string, and optimise literal strings a bit

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34081 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2011-10-28 14:25:17 +00:00
parent f6a225bfcc
commit 122d1d1b4e
3 changed files with 42 additions and 3 deletions

View file

@ -4996,6 +4996,30 @@ nextUTF8(const uint8_t *p, unsigned l, unsigned *o, unichar *n)
return 0;
}
- (BOOL) canBeConvertedToEncoding: (NSStringEncoding)encoding
{
if (NSASCIIStringEncoding == encoding)
{
BOOL ascii;
lengthUTF8((const uint8_t*)nxcsptr, nxcslen, &ascii, 0);
return ascii;
}
else if (NSISOLatin1StringEncoding == encoding)
{
BOOL latin1;
lengthUTF8((const uint8_t*)nxcsptr, nxcslen, 0, &latin1);
return latin1;
}
else
{
id d = [self dataUsingEncoding: encoding allowLossyConversion: NO];
return d != nil ? YES : NO;
}
}
- (NSData*) dataUsingEncoding: (NSStringEncoding)encoding
allowLossyConversion: (BOOL)flag
{