/*TITLE bit input routines */

/****keyword-flag*** "%v %f %n" */
/* "7 30-May-94,9:15:32 BITIN.C" */

#include <stdio.h>
#include <stdlib.h>
#include "arith.h"

extern FILE *infile;

static int buffer;
static int bits_to_go;
static int garbage_bits;

start_inputing_bits()
{
	bits_to_go = 0;
	garbage_bits = 0;
	return(0);
}

int input_bit()
{
	int t;

	if (bits_to_go == 0)
		{
		buffer = fgetc(infile);
		if (buffer == EOF)
			{
			garbage_bits ++;
			if (garbage_bits > CODE_VALUE_BITS - 2)
				{
				fprintf(stderr,"Bad input file\n");
				exit(-1);
				}
			}
			bits_to_go = 8;
		}

		t = buffer & 1;
		buffer >>= 1;
		bits_to_go --;
		return(t);
}


