open(...) while( !eof ) { buf = malloc(); read_obj(); parse_obj(buf); if( prev ) prev->link = buf; prev = buf; } close()