idlastro / Miscellaneous (Non-Astronomy) Procedures: GET_PIPE_FILESIZE

[Source code]

NAME
GET_PIPE_FILESIZE
PURPOSE
Determine the number of bytes in a unit opened as a pipe with SPAWN
EXPLANATION
Reads into a buffer until the end of file is reached and then counts the
number of bytes read.   Needed because the fstat.size field is not 
automatically set for a unit opened as a pipe.
CALLING SEQUENCE
GET_PIPE_FILESIZE,unit, nbytes_in_file, BUFFER = 
INPUTS
unit -   IDL unit number of a previously opened file.    For example,
  an FPACK  ( http://heasarc.gsfc.nasa.gov/fitsio/fpack/ ) compressed 
  FITS file could be opened as follows:
 IDL> spawn,'funpack -S test.fits.fz', unit=unit
OUTPUTS
nbytes_in_file - Unsigned long64 integer giving number of bytes in 
  the file.
INPUT KEYWORD PARAMETERS
BUFFER  Integer giving number of bytes in the buffer.  Default = 
         1000000
NOTES
Unite must be opened prior to calling GET_PIPE_FILESIZE, and the number
of bytes is counted from the current pointer position.  The pointer is 
left at the end of the file upon return. 
PROCEDURES USED
SETDEFAULTVALUE  
REVISION HISTORY
Written, W. Landsman  Adnet   Dec 2010