Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Hello,

Here is a small patch for  Cppcheck cleaning on dbaccess

Question :
In the last "git-updated" cppcheck I use, i found this in core part of dbaccess : [./api/query.cxx:310]: (error) instance of "OAutoActionReset" object destroyed immediately

I took a look and I don't understand what's the use of this class.
in query.cxx, we have this :
m_eDoingCurrently = SETTING_PROPERTIES; <- OK why not
OAutoActionReset(this); <- the constructor followed directly by the destructor since the object is not used at all
m_xCommandDefinition->setPropertyValue(sAggPropName, _rValue);

in query.hxx
// ------------------------------------------------------------------------ /** a class which automatically resets m_eDoingCurrently in it's destructor
    */
class OAutoActionReset; // just for the following friend declaration
    friend class OAutoActionReset;
    class OAutoActionReset
    {
        OQuery*                         m_pActor;
    public:
        OAutoActionReset(OQuery* _pActor) : m_pActor(_pActor) { }
        ~OAutoActionReset() { m_pActor->m_eDoingCurrently = NONE; }
    };
And i saw that m_eDoingCurrently wasn't used after in query.cxx
Could someone explain the meaning of all this ?
By the way, we can see the same kind of thing in api/querycontainer.cxx (line 193)

(LGPLv3+ / MPL)

Julien
commit d0aa16bfd3e43a170d7cadd98066715112f333ed
Author: serval <serval2412@yahoo.fr>
Date:   Sat Jan 15 00:00:46 2011 +0100

    Some cppcheck cleaning

diff --git a/dbaccess/source/core/api/RowSet.cxx b/dbaccess/source/core/api/RowSet.cxx
index 3775896..f12afb9 100644
--- a/dbaccess/source/core/api/RowSet.cxx
+++ b/dbaccess/source/core/api/RowSet.cxx
@@ -1821,7 +1821,6 @@ void ORowSet::execute_NoApprove_NoNewConn(ResettableMutexGuard& 
_rClearForNotifi
         ::rtl::Reference< ::connectivity::OSQLColumns> aColumns = new 
::connectivity::OSQLColumns();
         ::std::vector< ::rtl::OUString> aNames;
         ::rtl::OUString aDescription;
-        sal_Int32 nFormatKey = 0;
 
         const ::std::map<sal_Int32,sal_Int32>& rKeyColumns = m_pCache->getKeyColumns();
         if(!m_xColumns.is())
@@ -1872,7 +1871,7 @@ void ORowSet::execute_NoApprove_NoNewConn(ResettableMutexGuard& 
_rClearForNotifi
 
                         try
                         {
-                            nFormatKey = 0;
+                            sal_Int32 nFormatKey = 0;
                             if(m_xNumberFormatTypes.is())
                                 nFormatKey = 
::dbtools::getDefaultNumberFormat(pColumn,m_xNumberFormatTypes,aLocale);
 
diff --git a/dbaccess/source/core/dataaccess/documentcontainer.cxx 
b/dbaccess/source/core/dataaccess/documentcontainer.cxx
index 26d9ec1..b45850b 100644
--- a/dbaccess/source/core/dataaccess/documentcontainer.cxx
+++ b/dbaccess/source/core/dataaccess/documentcontainer.cxx
@@ -570,7 +570,7 @@ Reference< XComponent > SAL_CALL ODocumentContainer::loadComponentFromURL( const
     {
         throw IllegalArgumentException();
     }
-    catch(WrappedTargetException e)
+    catch(WrappedTargetException &e)
     {
         throw;
     }
diff --git a/dbaccess/source/ui/misc/linkeddocuments.cxx 
b/dbaccess/source/ui/misc/linkeddocuments.cxx
index 517ab5b..69ef514 100644
--- a/dbaccess/source/ui/misc/linkeddocuments.cxx
+++ b/dbaccess/source/ui/misc/linkeddocuments.cxx
@@ -364,7 +364,7 @@ namespace dbaui
             }
             return xRet;
         }
-        catch (com::sun::star::io::WrongFormatException e)
+        catch (com::sun::star::io::WrongFormatException &e)
         { 
             com::sun::star::sdbc::SQLException aSQLException;
             aSQLException.Message = e.Message;

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.