Only in libzypp-5.16.1.orig/: libzypp-5.16.1 diff -ur libzypp-5.16.1.orig//zypp/PathInfo.cc libzypp-5.16.1//zypp/PathInfo.cc --- libzypp-5.16.1.orig//zypp/PathInfo.cc 2008-10-16 16:11:34.000000000 +0200 +++ libzypp-5.16.1//zypp/PathInfo.cc 2008-10-16 16:23:24.000000000 +0200 @@ -598,6 +598,15 @@ // METHOD NAME : readdir // METHOD TYPE : int // + + bool DirEntry::operator==( const DirEntry &rhs ) const + { + // if one of the types is not known, use the name only + if ( type == FT_NOT_AVAIL || rhs.type == FT_NOT_AVAIL ) + return ( name == rhs.name ); + return ((name == rhs.name ) && (type == rhs.type)); + } + int readdir( DirContent & retlist, const Pathname & path, bool dots, PathInfo::Mode statmode ) { diff -ur libzypp-5.16.1.orig//zypp/PathInfo.h libzypp-5.16.1//zypp/PathInfo.h --- libzypp-5.16.1.orig//zypp/PathInfo.h 2008-10-16 16:11:34.000000000 +0200 +++ libzypp-5.16.1//zypp/PathInfo.h 2008-10-16 16:18:35.000000000 +0200 @@ -490,8 +490,7 @@ , type( type_r ) {} - bool operator==( const DirEntry &rhs ) const - { return ((name == rhs.name ) && (type == rhs.type)); } + bool operator==( const DirEntry &rhs ) const; }; /** Returned by readdir. */