Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/prelude/Binary/SizeBin_.hc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


#include <haskell2c.h>
#include "cLowBinary.h"

int hs_sizeBin (BinHandle bh)
{ int n;
  
   unsigned curpos;
   closecache(bh);
   if (bh->file) {
     curpos = vtell(bh);		/* store current position */
     n = lseek(bh->loc.fd,0,SEEK_END);	/* jump to end of file */
   } else {
     curpos = mtell(bh);		/* store current position */
     n = bh->attrib.size;
   }
   opencache(bh);			/* then skip back again */
   bh->cptr = curpos - forceCacheTo(bh,curpos);
  return n;
}

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.