]>
Commit | Line | Data |
---|---|---|
2e362598 JF |
1 | /* Cydia - iPhone UIKit Front-End for Debian APT |
2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) | |
3 | */ | |
4 | ||
5 | /* GNU General Public License, Version 3 {{{ */ | |
6 | /* | |
7 | * Cydia is free software: you can redistribute it and/or modify | |
8 | * it under the terms of the GNU General Public License as published | |
9 | * by the Free Software Foundation, either version 3 of the License, | |
10 | * or (at your option) any later version. | |
11 | * | |
12 | * Cydia is distributed in the hope that it will be useful, but | |
13 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | * GNU General Public License for more details. | |
16 | * | |
17 | * You should have received a copy of the GNU General Public License | |
18 | * along with Cydia. If not, see <http://www.gnu.org/licenses/>. | |
19 | **/ | |
20 | /* }}} */ | |
21 | ||
22 | #include "CyteKit/UCPlatform.h" | |
23 | ||
24 | #include "CyteKit/stringWith.h" | |
25 | ||
26 | @implementation NSString (Cyte) | |
27 | ||
28 | + (NSString *) stringWithUTF8BytesNoCopy:(const char *)bytes length:(int)length { | |
29 | return [[[NSString alloc] initWithBytesNoCopy:const_cast<char *>(bytes) length:length encoding:NSUTF8StringEncoding freeWhenDone:NO] autorelease]; | |
30 | } | |
31 | ||
32 | + (NSString *) stringWithUTF8Bytes:(const char *)bytes length:(int)length { | |
33 | return [[[NSString alloc] initWithBytes:bytes length:length encoding:NSUTF8StringEncoding] autorelease]; | |
34 | } | |
35 | ||
36 | + (NSString *) stringWithFormat:(NSString *)format :(size_t)count :(id *)args { | |
37 | switch (count) { | |
38 | case 0: | |
39 | return [[[NSString init] initWithFormat:format] autorelease];; | |
40 | case 1: | |
41 | return [[[NSString init] initWithFormat:format, args[0]] autorelease];; | |
42 | case 2: | |
43 | return [[[NSString init] initWithFormat:format, args[0], args[1]] autorelease];; | |
44 | case 3: | |
45 | return [[[NSString init] initWithFormat:format, args[0], args[1], args[2]] autorelease];; | |
46 | case 4: | |
47 | return [[[NSString init] initWithFormat:format, args[0], args[1], args[2], args[3]] autorelease];; | |
48 | case 5: | |
49 | return [[[NSString init] initWithFormat:format, args[0], args[1], args[2], args[3], args[4]] autorelease];; | |
50 | case 6: | |
51 | return [[[NSString init] initWithFormat:format, args[0], args[1], args[2], args[3], args[4], args[5]] autorelease];; | |
52 | case 7: | |
53 | return [[[NSString init] initWithFormat:format, args[0], args[1], args[2], args[3], args[4], args[5], args[6]] autorelease];; | |
54 | case 8: | |
55 | return [[[NSString init] initWithFormat:format, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]] autorelease];; | |
56 | default: | |
57 | _assert(false); | |
58 | } | |
59 | } | |
60 | ||
61 | @end |