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

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


module NHC.Binary
  ( freezeBin
  ) where

import NHC.GreenCard
import BinHandle ({-type-}BinHandle(..))

%-#include "cLowBinary.h"

%fun freezeBin :: BinHandle -> IO ()
%call (binHandle bh)
%code
%  closecache(bh);
%  if (bh->file) {
%    if (bh->mode != RO) {
%      char c; int i;
%      c = (char)(bh->highwater%8);
%      i = (c ? 1+(bh->highwater/8) : (bh->highwater/8));
%      c = (c ? 16-c : 8);
%      lseek(bh->loc.fd,i,SEEK_SET);
%      write(bh->loc.fd,&c,1);
%    }
%  }
%  bh->mode = RO;
%  opencache(bh);
%result ()


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].