#include "DictList.h" #include "Dict.h" #define THING DictList #include "THING+NSArray.m" @implementation DictList // // Read in variable # of objects from FILE * // - initListFromFile:(FILE *) fp { id d; self = [super init]; array = [[NSMutableArray alloc] init]; do { d =[(Dict *)[Dict alloc] initFromFile:fp]; if (d != NULL) [self addObject:d]; } while (d != NULL); [d release]; return self; } // // Write out list file // -writeListFile:(const char *) filename { FILE *fp; int i; id obj; fp = fopen (filename, "w+t"); if (fp == NULL) return NULL; fprintf (fp, "// Object List written by QuakeEd\n"); for (i = 0; i <[self count]; i++) { obj =[self objectAtIndex:i]; [obj writeBlockTo:fp]; } fclose (fp); return self; } // // Find the keyword in all the Dict objects // -(id) findDictKeyword:(const char *) key { int i; dict_t *d; id dict; for (i = 0; i <[self count]; i++) { dict =[self objectAtIndex:i]; d =[(Dict *) dict findKeyword:key]; if (d != NULL) return dict; } return NULL; } @end