From c040e154bc58fac262324a0c40ef5572d5ef28c8 Mon Sep 17 00:00:00 2001 From: Bibiko Date: Thu, 18 Jun 2009 14:03:02 +0000 Subject: =?UTF-8?q?=E2=80=A2=20introduced=20inline=20function=20NSStringUT?= =?UTF-8?q?F8String()=20to=20SPStringAdditions.h=20-=20NSData=20*d=20=3D?= =?UTF-8?q?=20[aStr=20UTF8String];=20:=3D=3D=20NSData=20*d=20=3D=20NSStrig?= =?UTF-8?q?nUTF8String(aStr)=20but=20a=20tick=20faster=20=E2=80=A2=20imple?= =?UTF-8?q?mented=20NSStringUTF8String()=20in=20queryString:=20and=20for?= =?UTF-8?q?=20the=20lex=20parser=20(syntax=20highlighting)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/SPStringAdditions.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'Source/SPStringAdditions.h') diff --git a/Source/SPStringAdditions.h b/Source/SPStringAdditions.h index 318e8d4d..3b6805e2 100644 --- a/Source/SPStringAdditions.h +++ b/Source/SPStringAdditions.h @@ -25,6 +25,20 @@ #import +/* + * NSStringUTF8String(@"a String") function can be used to speed up + * the convertion from a NSString to NSData or const char* resp. + * NSData *d = [aStr UTF8String]; :== NSData *d = NSStringUTF8String(aStr); + */ +static inline const char* NSStringUTF8String(NSString* self) { + typedef const char* (*SPUTF8StringMethodPtr)(NSString*, SEL); + static SPUTF8StringMethodPtr SPNSStringGetUTF8String; + if (!SPNSStringGetUTF8String) SPNSStringGetUTF8String = (SPUTF8StringMethodPtr)[NSString instanceMethodForSelector:@selector(UTF8String)]; + const char* to_return = SPNSStringGetUTF8String(self, @selector(UTF8String)); + return to_return; +} + + @interface NSString (SPStringAdditions) + (NSString *)stringForByteSize:(int)byteSize; -- cgit v1.2.3