#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <limits.h>

int main(int argc, char *argv[])
{
	FILE *fin, *fout;
	char buffer[PIPE_BUF];

	int n;

	fprintf(stdout, "BUF: %d\n", (int) PIPE_BUF);
	if(argc < 3)
	{
		fprintf(stderr, "Usage: %s cmd cmd\n", argv[0]);
		exit(1);
	}
	
	fin=popen(argv[1], "r");
	fout=popen(argv[2], "w");
	
//	while((n=read(fileno(fin), buffer, PIPE_BUF)) > 0)
//	{
//		perror("read");
//		write(fileno(fout), buffer, n);
//	}

	n=read(fileno(fin), buffer, BUFSIZ);
	perror("read");
	fprintf(stdout, "%d\n", n);
	write(fileno(fout), buffer, n);
	perror("write");	

	pclose(fin);
	pclose(fout);
	
	exit(0);
}
