#include <stdio.h>
#include <string.h>
#define _XOPEN_SOURCE
#include <unistd.h>

int main (int argc, char *argv[])
{
	#define bufsize 0x1000
	unsigned char inbuf[bufsize];
	unsigned char outbuf[bufsize];
	size_t insize;
	size_t outsize;
	FILE * inf;
	FILE * outf;
	inf = fopen(argv[1],"rb");
	outf = fopen(argv[2],"wb");
	do {
		insize = fread(inbuf,1,bufsize,inf);
		if(0==insize) break;
		swab(inbuf,outbuf,insize%2?insize-1:insize);
		outsize = fwrite(outbuf,insize,1,outf);
		printf("read %zd wrote %zd bufsize %d\n", insize, outsize, bufsize);
		if(1!=outsize) break;
	} while (bufsize==insize);
	fclose(inf);
	fclose(outf);
	return 0;
}
