anchor.diff:    Found : Integer;
     NameMask: string;
   begin
  +
     Found := FindFirst( FileMask, SearchAttr, SR );
  +	//raise EWin32Error.Create(SysErrorMessage(Found));	
     if Found = 0 then begin
       try
         NameMask := UpperCase(ExtractFileName(FileMask));
         while Found = 0 do begin
           NewFile := ExtractFilePath( FileMask ) + SR.Name;
  -        if AbPatternMatch(UpperCase(SR.Name), 1, NameMask, 1) then
  -        FileList.Add( NewFile );
  +	   if ((sr.Name <> AbThisDir) and (sr.Name <> AbParentDir)) then begin
  +	        if AbPatternMatch(UpperCase(SR.Name), 1, NameMask, 1) then
  +    	    FileList.Add( NewFile );
  +        end;
           Found := FindNext( SR );
         end;
       finally
  
positive.code:       if Pos('\\', ArchiveName) = 1 then begin  {path is UNC; must refer to network }
          { check OS version }
          if OSOK then begin
            Size := GetRemoteDiskFree(DrvStr);                             {!!.02}
          end
          else begin {OS < Win95b }
            {GetDiskFreeSpaceEx isn't available and
             GetDiskFreeSpace and DiskFree fail on UNC paths,
             about all we can do is hope the server isn't full}
              Size := MaxLongInt;
          end; {if}
        end
        else begin { path is not UNC}
  
negative.code: 
  //        DRIVE_CDROM           : Size := -1; { fail }                 {!!.04}
  //        DRIVE_CDROM           : Size := 0; { Read-Only }             {!!.04}
            DRIVE_CDROM             : Size := GetDiskFree(DrvStr);  {!!.04}
            DRIVE_REMOVABLE         : Size := GetRemoveableDiskFree(DrvStr); {!!.02}
            DRIVE_FIXED             : Size := GetDiskFree(DrvStr);      {!!.02}
            DRIVE_REMOTE            : Size := GetDiskFree(DrvStr);     {!!.02}
          end; {case}
        end; {if}
      end; {ptAbsolute}
  