home *** CD-ROM | disk | FTP | other *** search
- //
- // MiscStringDebugging.m
- // Written by Don Yacktman (c) 1993 by Don Yacktman.
- // Version 1.95 All rights reserved.
- // This notice may not be removed from this source code.
- //
- // This object is included in the MiscKit by permission from the author
- // and its use is governed by the MiscKit license, found in the file
- // "LICENSE.rtf" in the MiscKit distribution. Please refer to that file
- // for a list of all applicable permissions and restrictions.
- //
-
- #import <misckit/MiscString.h>
-
- @implementation MiscString(Debugging)
-
- // This category is composed of methods which are useful when debugging apps.
-
- // The next three methods are based on methods in Mike Ferri's MOString and
- // are used with his permission.
-
- - buildInstanceImageIn:(char *)buf
- // Build a nice representation of all our instance vars in buf.
- {
- sprintf(buf, "\tstr = '%s' (%#x)\n\tlen = %d\tAllocated len = %d\n",
- buffer, (unsigned int)buffer, length, _length);
- return self;
- }
-
- - printForDebugger:(NXStream *)stream
- // Overriden to use our nice instance printer as well as what it used to do.
- {
- char buf[200 + length]; // should be plenty big enough
-
- [super printForDebugger:stream];
- [self buildInstanceImageIn:buf];
- NXWrite(stream, buf, strlen(buf));
-
- return self;
- }
-
- - printToStdErr:(const char *)label
- // Prints a nice representation of our string to the stderr labeled with
- // the given label.
- {
- char buf[200 + length]; // should be plenty big enough
- fprintf(stderr, "%s <%s:%#x>\n", label, [[self class] name],
- (unsigned int)self);
- [self buildInstanceImageIn:buf];
- fprintf(stderr, "%s", buf);
- return self;
- }
-
- @end
-