anchor.diff:  procedure TAbCabArchive.Add(aItem : TAbArchiveItem);
     {add a file to the cabinet}
   var
  -  FH : HFILE;
  -  newFileName:  string;
     Confirm, DoExecute : Boolean;
     FP, FN : array[0..255] of AnsiChar;
  +  FH : HFILE;
     Item : TAbCabItem;
   begin
     if (FMode <> fmOpenWrite) then begin
  
positive.code: function VerifyCab(const Fn : string) : TAbArchiveType;
  
  implementation
  uses
    AbExcept;
    
  type
    PWord    = ^Word;
    PInteger = ^Integer;
  
negative.code:   end;
  end;
  { -------------------------------------------------------------------------- }
  function FCI_GetTempFile(lpTempName: PAnsiChar; TempNameSize: Integer;
                           Archive: TAbCabArchive) : Integer; cdecl;
    {obtain temporary filename}
  var
    TempPath : array[0..255] of AnsiChar;
  begin
    Archive.FTempFileID := Archive.FTempFileID + 1;
    if (Archive.TempDirectory <> '') then
      StrPLCopy(TempPath, AnsiString(Archive.TempDirectory), Length(TempPath)){!!.02}
    else
      GetTempPathA(255, TempPath);                                         {!!.02}
    GetTempFileNameA(TempPath, 'VMS', Archive.FTempFileID, lpTempName);    {!!.02}
    Result := 1;
  end;
  
  