readgame.c 1.17 KB
/**************************************************************************
 *									  *
 *		 Copyright (C) 1995, Silicon Graphics, Inc.		  *
 *									  *
 *  These coded instructions, statements, and computer programs  contain  *
 *  unpublished  proprietary  information of Silicon Graphics, Inc., and  *
 *  are protected by Federal copyright law.  They  may  not be disclosed  *
 *  to  third  parties  or copied or duplicated in any form, in whole or  *
 *  in part, without the prior written consent of Silicon Graphics, Inc.  *
 *									  *
 **************************************************************************/
#ifndef WIN32
#include <ultrahost.h>
#include <stdio.h>
#include <unistd.h>
#else
#include <winsock2.h>
#endif

/*
 * Name:   uhReadGame
 *
 * Description:
 *	Copy nbytes of data from the game to addr.
 */
int
uhReadGame(int fd, void *addr, int nbytes)
{
    int             bytesRead = 0;
    unsigned char   *dPtr = (unsigned char*)addr;

    while(bytesRead < nbytes)
    {
#ifndef WIN32
	bytesRead += read(fd, &dPtr[bytesRead], nbytes - bytesRead);
#else
		bytesRead += recv(fd, &dPtr[bytesRead], nbytes - bytesRead, 0);
#endif
    }

    return(bytesRead);
}