#include <data/casefile.h>
#include <data/casefile-private.h>
#include <data/case.h>
+#include <libpspp/compiler.h>
struct class_flexifile
return reader;
}
+
+static struct casereader *
+flexifilereader_clone (const struct casereader *cr)
+{
+ const struct flexifilereader *ffr = (const struct flexifilereader *) cr;
+ struct flexifilereader *new_ffr = xzalloc (sizeof *new_ffr);
+ struct casereader *new_reader = (struct casereader *) new_ffr;
+ struct casefile *cf = casereader_get_casefile (cr);
+
+ casereader_register (cf, new_reader, CLASS_CASEREADER(&class_reader));
+
+ new_ffr->case_idx = ffr->case_idx ;
+ new_ffr->destructive = ffr->destructive ;
+
+ return new_reader;
+}
+
+
static bool
flexifile_in_core(const struct casefile *cf UNUSED)
{
{
flexifilereader_get_next_case,
0, /* cnum */
- flexifilereader_destroy
+ flexifilereader_destroy,
+ flexifilereader_clone
}
};