示例#1
0
// ----------------------------------------------------------------
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;
}