This is EvalString.m in view mode; [Download] [Up]
#import "EvalString.h" #import <strings.h> #import <stdlib.h> @implementation EvalString: Object { const char *string ; } + new: (const char *) aString ; { self = [super alloc] ; return [self init: aString] ; } - (const char *) cString ; { // returns pointer to the internal c string return string ; } - free ; { free((char *) string) ; return [super free] ; } - init: (const char *) aString { int len ; [super init] ; len = strlen(aString) + 1 ; string = (char *) malloc(len) ; strncpy((char *) string,aString,len) ; return self ; } - (char *) partialFree ; { // returns pointer to internal // c string and frees self. The // memory used by the c string is not // freed: it becomes the caller's responsibility // to free it (via free()) const char *s = string ; [super free] ; return (char *) s ; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.