This is RCStringRetrieval.m in view mode; [Download] [Up]
#import <RCString.h> /* Copyright (C) 1992. Bruce Ediger. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License. */ // // implementation of "substring retrieval" methods // @implementation RCString (Retrieval) - (char *)subStringAt:(int)iIndex extent:(int)iLength { char *bpReturn = NULL; if (iIndex >= 0 && iLength >= 0) { if (iIndex + iLength >= p->l) iLength = p->l - 1 - iIndex; if (iLength > 0) { bpReturn = malloc(iLength + 1); if (bpReturn) { bcopy(p->s + iIndex, bpReturn, iLength); bpReturn[iLength] = '\0'; } } } return bpReturn; } - subObjectAt:(int)index extent:(int)length { RCString *oNew; char *bpNewString = [self subStringAt:index extent:length]; if (bpNewString) { oNew = [[RCString alloc] init]; if (oNew) { oNew->p->s = bpNewString; oNew->p->l = strlen(bpNewString) + 1; } else { [oNew free]; oNew = NULL; } } else { oNew = [RCString new]; } return oNew; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.