diff --git a/src/YSObject.h b/src/YSObject.h index 2488866..ff72329 100644 --- a/src/YSObject.h +++ b/src/YSObject.h @@ -41,6 +41,7 @@ typedef unsigned int YSUInteger; } -(id) init; +-(void) dealloc; @end diff --git a/src/YSString.h b/src/YSString.h index 52d64e9..4f39339 100644 --- a/src/YSString.h +++ b/src/YSString.h @@ -1,27 +1,29 @@ #ifndef YSSTRING_H #define YSSTRING_H -#import -#import - -#include - -@implementation YSString : YSObject -+(instancetype) string; -+(instancetype) stringWithCharacters: (const unichar*) chars - length: (YSUInteger) length; -+(instancetype) stringWithCString: (const char *) byteString - length: (YSUInteger) length; -+(instancetype) stringWithCString: (const char *) byteString; -//+(instancetype) stringWithFormat: (YSString *)format, ... -+(instancetype) stringWithContentsOfFile: (YSString *) path; --(instancetype) init; --(YSUInteger) length; --(unichar) characterAtIndex: (YSUInteger) index; --(void) getCharacters: (unichar *) buffer; --(void) getCharacters: (unichar *) buffer - range: (YSRange) aRange; +#import "YSObject.h" + +@interface YSConstantString : YSObject { + char *c_string; + unsigned int len; +} + +-(const char *) cString; +-(unsigned int) length; +-(void) dealloc; + @end +/* +@interface YSString : YSObject { + char *c_string; + unsigned int len; +} + +-(char *) cString; +-(unsigned int length); + +@end +*/ #endif \ No newline at end of file diff --git a/src/YSString.m b/src/YSString.m new file mode 100644 index 0000000..09320e9 --- /dev/null +++ b/src/YSString.m @@ -0,0 +1,18 @@ +#import "YSString.h" + +@implementation YSConstantString +-(const char *) cString { + return (c_string); +} + +-(unsigned int) length { + return len; +} + +//free(): invalid pointer +-(void) dealloc { + //[super dealloc]; + free(c_string); +} + +@end \ No newline at end of file