shithub: fnt

ref: 6b622e92c2098ed15c550aed5e5242f5c11aa71d
dir: /plan9/test.c/

View raw version
#include <u.h>
#include <libc.h>
#include <bio.h>
#include "otf.h"
#include "test.h"

static int
otfseek(void *aux, int off, int whence)
{
	return Bseek(aux, off, whence);
}

static int
otfread(void *aux, void *dst, int sz)
{
	return Bread(aux, dst, sz);
}

static int
otfwrite(void *aux, void *dst, int sz)
{
	return Bwrite(aux, dst, sz);
}

static void
usage(Otfile *f)
{
	printusage(f);
	exits("usage");
}

void
main(int argc, char **argv)
{
	Otfile in, out;

	in.seek = otfseek;
	in.read = otfread;
	out.print = (void*)Bprint;
	out.write = otfwrite;
	out.aux = Bfdopen(1, OWRITE);
	parseoptions();

	if((in.aux = Bopen(*argv, OREAD)) == nil || process(&in, &out) != 0)
		sysfatal("%r");
	Bterm(out.aux);

	exits(nil);
}