home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1995 August / NEBULA.bin / SourceCode / Palettes / TTools / TToolsPalette / Strings.subproj / String.m < prev    next >
Encoding:
Text File  |  1993-11-09  |  844 b   |  55 lines

  1. /* String.m
  2.  * Written By:  Thomas Burkholder
  3.  *
  4.  * You may freely copy, distribute, and reuse the code in this example.
  5.  * NeXT disclaims any warranty of any kind, expressed or  implied, as to its
  6.  * fitness for any particular use.
  7.  */
  8.  
  9. #import <String.h>
  10. #import <ctype.h>
  11.  
  12. @implementation String
  13.  
  14. - init
  15. {
  16.     [super init];
  17.     buffer = NULL;
  18.     return self;
  19. }
  20.  
  21. - read:(NXTypedStream *)aStream
  22. {
  23.     [super read:aStream];
  24.     NXReadType(aStream,"*",&buffer);
  25.     
  26.     return self;
  27. }
  28.  
  29. - write:(NXTypedStream *)aStream
  30. {
  31.     [super write:aStream];
  32.     NXWriteTypes(aStream,"*",&buffer);
  33.     
  34.     return self;
  35. }
  36.  
  37. - free
  38. {
  39.     if(buffer) NX_FREE(buffer);
  40.     return [super free];
  41. }
  42.  
  43. - setStringValue:(const char *)aString
  44. {
  45.     if (buffer) NX_FREE(buffer);
  46.     buffer = NXCopyStringBufferFromZone(aString,[self zone]);
  47.     return self;
  48. }
  49.  
  50. - (const char *)stringValue
  51. {
  52.     return buffer;
  53. }
  54.  
  55. @end