#include #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; }