// ---------------------------------------------------------------- static void set_up( sllv_t* precords, slls_t** ppleft_field_names, lrec_reader_t** ppreader) { slls_t* pleft_field_names = slls_alloc(); slls_append_no_free(pleft_field_names, "l"); lrec_reader_t* preader = lrec_reader_in_memory_alloc(precords); printf("left records:\n"); lrec_print_list_with_prefix(precords, " "); printf("\n"); *ppleft_field_names = pleft_field_names; *ppreader = preader; }
int main(int argc, char** argv) { sllv_t* precords = sllv_alloc(); sllv_add(precords, lrec_literal_2("a","1", "b","10")); sllv_add(precords, lrec_literal_2("a","1", "b","11")); sllv_add(precords, lrec_literal_2("a","2", "b","12")); sllv_add(precords, lrec_literal_2("a","2", "b","13")); sllv_add(precords, lrec_literal_2("a","3", "b","14")); sllv_add(precords, lrec_literal_2("a","3", "b","15")); lrec_reader_t* preader = lrec_reader_in_memory_alloc(precords); printf("#=%d\n", precords->length); while (TRUE) { lrec_t* precord = preader->pprocess_func(NULL, preader->pvstate, NULL); if (precord == NULL) break; lrec_print(precord); } return 0; }