Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #import <Foundation/Foundation.h>
- #define let __auto_type const
- #define var __auto_type
- @interface NSString (util)
- - (int) indexOf:(NSString *)text;
- @end
- @implementation NSString (util)
- - (int) indexOf:(NSString *)text {
- NSRange range = [self rangeOfString:text];
- if ( range.length > 0 ) {
- return range.location;
- } else {
- return -1;
- }
- }
- @end
- NSString *escape(NSString *str) {
- NSMutableString *s = [NSMutableString stringWithString:str];
- [s replaceOccurrencesOfString:@"\\" withString:@"\\\\" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
- [s replaceOccurrencesOfString:@"\"" withString:@"\\\"" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
- [s replaceOccurrencesOfString:@"\n" withString:@"\\n" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
- [s replaceOccurrencesOfString:@"\b" withString:@"\\b" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
- [s replaceOccurrencesOfString:@"\f" withString:@"\\f" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
- [s replaceOccurrencesOfString:@"\r" withString:@"\\r" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
- [s replaceOccurrencesOfString:@"\t" withString:@"\\t" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
- return [NSString stringWithString:s];
- }
- int main (int argc, const char * argv[]) {
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- NSString *src = @"#import <Foundation/Foundation.h>\r\n#define let __auto_type const\r\n#define var __auto_type\r\n \r\n@interface NSString (util)\r\n \r\n- (int) indexOf:(NSString *)text;\r\n \r\n@end\r\n \r\n@implementation NSString (util)\r\n \r\n- (int) indexOf:(NSString *)text {\r\n NSRange range = [self rangeOfString:text];\r\n if ( range.length > 0 ) {\r\n return range.location;\r\n } else {\r\n return -1;\r\n }\r\n}\r\n \r\n@end\r\n \r\nNSString *escape(NSString *str) {\r\n NSMutableString *s = [NSMutableString stringWithString:str];\r\n [s replaceOccurrencesOfString:@\"\\\\\" withString:@\"\\\\\\\\\" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];\r\n [s replaceOccurrencesOfString:@\"\\\"\" withString:@\"\\\\\\\"\" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];\r\n [s replaceOccurrencesOfString:@\"\\n\" withString:@\"\\\\n\" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];\r\n [s replaceOccurrencesOfString:@\"\\b\" withString:@\"\\\\b\" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];\r\n [s replaceOccurrencesOfString:@\"\\f\" withString:@\"\\\\f\" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];\r\n [s replaceOccurrencesOfString:@\"\\r\" withString:@\"\\\\r\" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];\r\n [s replaceOccurrencesOfString:@\"\\t\" withString:@\"\\\\t\" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];\r\n return [NSString stringWithString:s];\r\n}\r\n \r\nint main (int argc, const char * argv[]) {\r\n NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];\r\n NSString *src = @\"?\";\r\n printf(\"%s%s%s\",[[src substringToIndex: [src indexOf:@\"?\"]] UTF8String], [escape(src) UTF8String], [[src substringFromIndex: [src indexOf:@\"?\"] + 1] UTF8String]);\r\n [pool drain];\r\n return 0;\r\n}";
- printf("%s%s%s",[[src substringToIndex: [src indexOf:@"?"]] UTF8String], [escape(src) UTF8String], [[src substringFromIndex: [src indexOf:@"?"] + 1] UTF8String]);
- [pool drain];
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement