+static struct ccase *
+get_next_case(struct casereader *reader)
+{
+ struct ccase *read_case = NULL;
+ struct casefile *cf = casereader_get_casefile (reader);
+
+ do
+ {
+ if ( casefile_error (cf) )
+ return NULL;
+
+ read_case = reader->class->get_next_case (reader);
+ }
+ while ( read_case && reader->filter
+ && casefilter_skip_case (reader->filter, read_case) ) ;
+
+ return read_case;
+}