anchor.diff:    end else
       raise EAbFileNotFound.Create;
   
  -  newFileName := Item.FileName;
  -  if (soStripPath in StoreOptions) then
  -    newFileName := ExtractFileName(newFileName);
  -  if (soRemoveDots in StoreOptions) then
  -    AbStripDots(newFileName);
  -  Item.FileName := newFileName;
  -
  -  StrPLCopy(FN, AnsiString(newFileName), Length(FN));                    {!!.02}
  +  StrPLCopy(FN, AnsiString(Item.FileName), Length(FN));                  {!!.02}
     if not FCIAddFile(FFCIContext, FP, FN, DoExecute, @FCI_GetNextCab,
       @FCI_Status, @FCI_GetOpenInfo, CompressionTypeMap[FCompressionType]) then
       raise EAbFCIAddFileError.Create;
  
positive.code: 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;
    Item : TAbCabItem;
  begin
    if (FMode <> fmOpenWrite) then begin
  
negative.code: function VerifyCab(const Fn : string) : TAbArchiveType;
  
  implementation
  
  uses
    AbExcept;
  
  type
    PWord    = ^Word;
    PInteger = ^Integer;
  