www.pudn.com > helpview.zip > Portable.c, change:1997-10-15,size:2699b


/* 
  
Copyright 1997 Willows Software, Inc.  
 
This library is free software; you can redistribute it and/or 
modify it under the terms of the GNU Library General Public License as 
published by the Free Software Foundation; either version 2 of the 
License, or (at your option) any later version. 
 
This library is distributed in the hope that it will be useful, 
but WITHOUT ANY WARRANTY; without even the implied warranty of 
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
Library General Public License for more details. 
 
You should have received a copy of the GNU Library General Public 
License along with this library; see the file COPYING.LIB.  If 
not, write to the Free Software Foundation, Inc., 675 Mass Ave, 
Cambridge, MA 02139, USA. 
 
*/ 
 
/************************************************************************* 
* 
* PORTABLE.C 
* Portable code support routines.      
* 
* Author: Paul E. Kissel 
* 
**************************************************************************/ 
 
/*********************************** 
** 
**  System Includes 
** 
***********************************/ 
 
 
/*********************************** 
** 
**  App. Includes 
** 
***********************************/ 
#include "portable.h" 
 
 
/*********************************** 
** 
**  Private Defines 
** 
***********************************/ 
 
 
/*********************************** 
** 
**  Private functions 
** 
***********************************/ 
 
/******************************** BYTE STREAM READING ROUTINES ******************************/ 
 
/*************************************************** 
* 
* Reads the next WORD from the byte stream. 
* 
****************************************************/ 
WORD ReadWORD( BYTE * fpDataStream ) 
{ 
  WORD         wCounter; 
  WORD         wValue; 
  BYTE * BytePtr = (BYTE * ) &wValue; 
 
  for( wCounter = 0; wCounter < sizeof(WORD); wCounter++ ) 
  { 
    /* Save byte's value. */ 
    *BytePtr++ = *fpDataStream; 
 
    /* Goto next byte. */ 
    fpDataStream = fpDataStream + 1; 
  } 
 
  /* Return value of WORD. */ 
  return( wValue ); 
}   
 
 
/*************************************************** 
* 
* Reads the next DWORD from the byte stream. 
* 
****************************************************/ 
DWORD ReadDWORD( BYTE * fpDataStream ) 
{ 
  WORD         wCounter; 
  DWORD        dwValue; 
  BYTE * BytePtr = (BYTE * ) &dwValue; 
 
  for( wCounter = 0; wCounter < sizeof(DWORD); wCounter++ ) 
  { 
    /* Save byte's value. */ 
    *BytePtr++ = *fpDataStream; 
 
    /* Goto next byte. */ 
    fpDataStream = fpDataStream + 1; 
  } 
 
  /* Return value of DWORD. */ 
  return( dwValue ); 
}