anchor.diff:      FInPos := FInCnt+1;
     end
     else begin
  -      {spanning stuff}
  -    if Spanned and (FZStream.Size = FZStream.Position) then begin
  -      {need the next disk!}
  -      CurrentDisk := CurrentDisk + 1;
  -      if not (FZStream is TFileStream) then                           
  -        raise EAbZipBadSpanStream.Create;
  -      TAbZipArchive(FArchive).DoRequestNthImage(CurrentDisk, FZStream, Abort );
  -    end;
  -    NeedDisk := False;
       if FInLeft > sizeof( FInBuf ) then
  -      L := sizeOf( FInBuf )
  +      L := sizeof( FInBuf )
       else
         L := FInLeft;
  -    if L >= ( FZStream.Size - FZStream.Position ) then begin
  -      NeedDisk := True;
  -      L := FZStream.Size - FZStream.Position;
  -    end;
       FInCnt := FZStream.Read( FInBuf, L );
  -    if (FInCnt = 0) then                                               
  +    if (FInCnt = 0) then
         raise EAbReadError.Create;
       if FDecoder <> nil then
  -      FDecoder.DecodeBuffer( FInBuf[1], FInCnt );                      
  +      FDecoder.DecodeBuffer( FInBuf[1], FInCnt );
   
       {decrement count of bytes left to go}
       Dec(FInLeft, FInCnt);
  -    FInEof :=  ( not NeedDisk ) and ( FZStream.Position = FZStream.Size );
   
       {load first byte in buffer and set position counter}
       FCurByte := FInBuf[1];
  
positive.code:   {starting value for output CRC}
    FCRC32 := -1;
    FCurrentProgress := 0;
    FSpanned := False;
    FMode := 0;
    FArchiveName := '';
    FCurrentDisk := 0;
  end;
  { -------------------------------------------------------------------------- }
  destructor TAbUnzipHelper.Destroy;
  
negative.code:     FInEof  : Boolean;               {set when FInLeft = 0}
      FCurByte : Byte;                 {current input byte}
      FBitsLeft : Byte;                {bits left to process in FCurByte}
  
      FZStream : TStream;
    protected
      procedure DoProgress( Progress : Byte; var Abort : Boolean );
        virtual;
      procedure uzFlushOutBuf;
        {-Flushes the output buffer}
  