#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>

static	char *savep;
static	int  savefd;

char *snarf (fname, hominy) char *fname; unsigned hominy;
{
    char   *malloc ();

    savefd = open (fname, 0);
    if (savefd < 0)
	return 0;
    savep = malloc (hominy);
    if (read (savefd, savep, hominy) != hominy) {
	unsnarf ();
	return 0;
    }
    return savep;
}

unsnarf ()
{
    free (savep);
    close (savefd);
}

long flength(fname) char *fname;
{
    struct stat buf;
    if (stat (fname, &buf) < 0)
	return - 1;
    return (long) buf.st_size;
}

