This is io.c in view mode; [Download] [Up]
/*
* Copyright Notice: Copyright 1990 Robert C. Hood This software is
* distributed "as is" without warranty. Use this software at your OWN RISK.
* Source may be distributed freely, at NO CHARGE, but must be accompanied by
* this documentation and copyright notice.
*/
#include <stdio.h>
#include "giflib.h"
void
startbuffer(int size)
{
GIF_max = fread(&GIF_buffer, 1, size, GIF_file);
GIF_bufptr = 0;
GIF_bitbuffer = ((unsigned int)GIF_buffer[GIF_bufptr]) |
((unsigned int)GIF_buffer[GIF_bufptr + 1] << 8) |
((unsigned int)GIF_buffer[GIF_bufptr + 2] << 16) |
((unsigned int)GIF_buffer[GIF_bufptr + 3] << 24);
GIF_bufptr += 4;
GIF_bits = 0;
}
int
getbits(int num)
{
register int reply;
register unsigned int temp;
reply = (0xFFFFFFFF >> (32 - num)) & GIF_bitbuffer;
GIF_bitbuffer = GIF_bitbuffer >> num;
GIF_bits += num;
while (GIF_bits >= 16) {
temp = (unsigned int)GIF_buffer[GIF_bufptr++];
temp |= (unsigned int)GIF_buffer[GIF_bufptr++] << 8;
GIF_bitbuffer |= ((unsigned int)temp << (32 - GIF_bits));
GIF_bits -= 16;
}
return reply;
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.