User: hr      
Date: 06/06/19 19:34:58

Modified:
 /dba/dbaccess/source/core/api/
  FilteredContainer.cxx

Log:
 INTEGRATION: CWS warnings01 (1.6.48); FILE MERGED
 2006/03/24 15:35:45 fs 1.6.48.1: #i57457# warning-free code (unxlngi6/.pro + 
unxsoli4.pro)

File Changes:

Directory: /dba/dbaccess/source/core/api/
=========================================

File [changed]: FilteredContainer.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/FilteredContainer.cxx?r1=1.6&r2=1.7
Delta lines:  +23 -26
---------------------
--- FilteredContainer.cxx       8 Sep 2005 09:57:48 -0000       1.6
+++ FilteredContainer.cxx       20 Jun 2006 02:34:56 -0000      1.7
@@ -65,20 +65,6 @@
        using namespace ::connectivity::sdbcx;
 
        
//------------------------------------------------------------------------------
-       /** compare two strings
-       */
-       extern int
-       #if defined( WNT )
-        __cdecl
-       #endif
-       #if defined( ICC ) && defined( OS2 )
-       _Optlink
-       #endif
-       NameCompare( const void* pFirst, const void* pSecond)
-       {
-               return reinterpret_cast< const ::rtl::OUString* 
>(pFirst)->compareTo(*reinterpret_cast< const ::rtl::OUString* >(pSecond));
-       }
-       
//------------------------------------------------------------------------------
        /** creates a vector of WildCards and reduce the _rTableFilter of the 
length of WildsCards
        */
        sal_Int32 createWildCardVector(Sequence< ::rtl::OUString >& 
_rTableFilter, ::std::vector< WildCard >& _rOut)
@@ -119,10 +105,10 @@
                                                                 
IRefreshListener*      _pRefreshListener,
                                                                 
IWarningsContainer* _pWarningsContainer)
        :OCollection(_rParent,_bCase,_rMutex,::std::vector< ::rtl::OUString>())
-       ,m_bConstructed(sal_False)
-       ,m_xConnection(_xCon)
        ,m_pWarningsContainer(_pWarningsContainer)
        ,m_pRefreshListener(_pRefreshListener)
+           ,m_xConnection(_xCon)
+           ,m_bConstructed(sal_False)
        {                                         
                
        }
@@ -154,8 +140,9 @@
                        {
                                Sequence< ::rtl::OUString > aTableFilter        
        = _rTableFilter;
                                Sequence< ::rtl::OUString > aTableTypeFilter    
= _rTableTypeFilter;
+
                                // build sorted versions of the filter 
sequences, so the visibility decision is faster
-                               qsort(aTableFilter.getArray(), nTableFilterLen, 
sizeof(::rtl::OUString), NameCompare);
+                ::std::sort( aTableFilter.getArray(), aTableFilter.getArray() 
+ nTableFilterLen );
 
                                // as we want to modify nTableFilterLen, 
remember this
 
@@ -208,7 +195,7 @@
                sal_Int32       nTableFilterLen = aTableFilter.getLength();
 
                if (nTableFilterLen)
-                       qsort(aTableFilter.getArray(), nTableFilterLen, 
sizeof(::rtl::OUString), NameCompare);
+            ::std::sort( aTableFilter.getArray(), aTableFilter.getArray() + 
nTableFilterLen );
 
                sal_Bool bNoTableFilters = ((nTableFilterLen == 1) && 
_rTableFilter[0].equalsAsciiL("%", 1));
                        // as we want to modify nTableFilterLen, remember this
@@ -253,8 +240,16 @@
                                                // that case, which is 
sufficient here
 
                                                composeTableName(m_xMetaData, 
sCatalog, sSchema, sName, sComposedName, 
sal_False,::dbtools::eInDataManipulation);
+
+                        const ::rtl::OUString* tableFilter = 
aTableFilter.getConstArray();
+                        const ::rtl::OUString* tableFilterEnd = 
aTableFilter.getConstArray() + nTableFilterLen;
+                        bool composedNameInFilter = ::std::find( tableFilter, 
tableFilterEnd, sComposedName ) != tableFilterEnd;
+
                                                bFilterMatch =  bNoTableFilters
-                                                                       ||      
((nTableFilterLen != 0) && (NULL != bsearch(&sComposedName, 
aTableFilter.getConstArray(), nTableFilterLen, sizeof(::rtl::OUString), 
NameCompare)));
+                                                                       ||  (   
( nTableFilterLen != 0 )
+                                        &&  composedNameInFilter
+                                        );
+
                                                // the table is allowed to 
"pass" if we had no filters at all or any of the non-wildcard filters matches
 
                                                if (!bFilterMatch && 
aWCSearch.size())
@@ -318,12 +313,14 @@
        // 
-------------------------------------------------------------------------
        sal_Bool OFilteredContainer::isNameValid(       const ::rtl::OUString& 
_rName,
                                                                                
        const Sequence< ::rtl::OUString >& _rTableFilter,
-                                                                               
        const Sequence< ::rtl::OUString >& _rTableTypeFilter,
+                                                                               
        const Sequence< ::rtl::OUString >& /*_rTableTypeFilter*/,
                                                                                
        const ::std::vector< WildCard >& _rWCSearch) const
        {
                sal_Int32 nTableFilterLen = _rTableFilter.getLength();
 
-               sal_Bool bFilterMatch = (NULL != bsearch(&_rName, 
_rTableFilter.getConstArray(), nTableFilterLen, sizeof(::rtl::OUString), 
NameCompare));
+        const ::rtl::OUString* tableFilter = _rTableFilter.getConstArray();
+        const ::rtl::OUString* tableFilterEnd = _rTableFilter.getConstArray() 
+ nTableFilterLen;
+        bool bFilterMatch = ::std::find( tableFilter, tableFilterEnd, _rName ) 
!= tableFilterEnd;
                // the table is allowed to "pass" if we had no filters at all 
or any of the non-wildcard filters matches
                if (!bFilterMatch && !_rWCSearch.empty())
                {       // or if one of the wildcrad expression matches




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to