Hi,

some patches to fix EASY HACK 2.6 

found some equivalent macros:
        - elementsof
        - ELEMENTS_OF_ARRAY
        - bufsizeof

i'll try and replace them all with SAL_N_ELEMENTS tomorrow.


diff --git a/connectivity/source/drivers/dbase/DTable.cxx b/connectivity/source/drivers/dbase/DTable.cxx
index 75c9922..621b5a1 100644
--- a/connectivity/source/drivers/dbase/DTable.cxx
+++ b/connectivity/source/drivers/dbase/DTable.cxx
@@ -183,7 +183,7 @@ void lcl_CalDate(sal_Int32 _nJulianDate,sal_Int32 _nJulianTime,com::sun::star::u
             _rDateTime.Year = static_cast<sal_uInt16>(kc - 4716);
         else
             _rDateTime.Year = static_cast<sal_uInt16>(kc - 4715);
-    } // if ( _nJulianDate )
+    } 
 
     if ( _nJulianTime )
     {
@@ -192,26 +192,6 @@ void lcl_CalDate(sal_Int32 _nJulianDate,sal_Int32 _nJulianTime,com::sun::star::u
         double d_h  = d_m / 60;
         _rDateTime.Hours = (sal_uInt16) (d_h);
         _rDateTime.Minutes = (sal_uInt16) d_m;			// integer _aDateTime.Minutes
-        //// weird: time fix
-     //   int test = (_rDateTime.Hours % 3) * 100 + _rDateTime.Minutes;
-        //int test_tbl[] = {0, 1, 2, 11, 12, 13, 22, 23, 24, 25, 34, 35, 36,
-        //	45, 46, 47, 56, 57, 58, 107, 108, 109, 110, 119, 120, 121,
-        //	130, 131, 132, 141, 142, 143, 152, 153, 154, 155, 204, 205,
-        //	206, 215, 216, 217, 226, 227, 228, 237, 238, 239, 240, 249,
-        //	250, 251};
-     //   for (int i = 0; i < sizeof(test_tbl)/sizeof(test_tbl[0]); i++)
-        //{
-        //    if (test == test_tbl[i])
-        //    {
-        //	// frac += 0.000012;
-        //	    //d_hour = frac * 24.0;
-        //	    _rDateTime.Hours = (sal_uInt16)d_hour;
-        //	    d_minute = (d_hour - (double)_rDateTime.Hours) * 60.0;
-        //	    _rDateTime.Minutes = (sal_uInt16)d_minute;
-        //	    break;
-        //    }
-     //   }
-
         _rDateTime.Seconds = static_cast<sal_uInt16>(( d_m - (double) _rDateTime.Minutes ) * 60.0);
     }
 }
diff --git a/connectivity/source/parse/sqlbison.y b/connectivity/source/parse/sqlbison.y
index 84e9aa2..a002e16 100644
--- a/connectivity/source/parse/sqlbison.y
+++ b/connectivity/source/parse/sqlbison.y
@@ -87,6 +87,7 @@
 #include "connectivity/dbconversion.hxx"
 #endif
 #include <rtl/ustrbuf.hxx>
+#include <sal/macros.h>
 
 #if defined __GNUC__
     #pragma GCC system_header
@@ -4007,7 +4008,7 @@ IParseContext::InternationalKeyCode OParseContext::getIntlKeyCode(const ::rtl::O
         KEY_VAR_POP,KEY_COLLECT,KEY_FUSION,KEY_INTERSECTION
 	};
 
-	sal_uInt32 nCount = sizeof Intl_TokenID / sizeof Intl_TokenID[0];
+	sal_uInt32 nCount = SAL_N_ELEMENTS( Intl_TokenID );
 	for (sal_uInt32 i = 0; i < nCount; i++)
 	{
 		::rtl::OString aKey = getIntlKeywordAscii(Intl_TokenID[i]);
@@ -4221,7 +4222,7 @@ OSQLParseNode* OSQLParser::parseTree(::rtl::OUString& rErrorMessage,
 //-----------------------------------------------------------------------------
 ::rtl::OUString OSQLParser::RuleIDToStr(sal_uInt32 nRuleID)
 {
-	OSL_ENSURE(nRuleID < (sizeof yytname/sizeof yytname[0]), "OSQLParser::RuleIDToStr: Invalid nRuleId!");
+	OSL_ENSURE(nRuleID < SAL_N_ELEMENTS(yytname), "OSQLParser::RuleIDToStr: Invalid nRuleId!");
 	return ::rtl::OUString::createFromAscii(yytname[nRuleID]);
 }
 
@@ -4230,7 +4231,7 @@ sal_uInt32 OSQLParser::StrToRuleID(const ::rtl::OString & rValue)
 {
 	// In yysvar nach dem angegebenen Namen suchen, den Index zurueckliefern
 	// (oder 0, wenn nicht gefunden)
-	static sal_uInt32 nLen = sizeof(yytname)/sizeof(yytname[0]);
+	static sal_uInt32 nLen = SAL_N_ELEMENTS(yytname);
 	for (sal_uInt32 i = YYTRANSLATE(SQL_TOKEN_INVALIDSYMBOL); i < (nLen-1); i++)
 	{
 		if (yytname && rValue == yytname[i])
diff --git a/desktop/win32/source/guistdio/guistdio.inc b/desktop/win32/source/guistdio/guistdio.inc
index 7f2bbe9..7009b24 100644
--- a/desktop/win32/source/guistdio/guistdio.inc
+++ b/desktop/win32/source/guistdio/guistdio.inc
@@ -43,6 +43,7 @@
 #include <systools/win32/uwinapi.h>
 
 #include <stdio.h>
+#include <sal/macros.h>
 
 #ifdef UNOPKG
 
@@ -358,7 +359,7 @@ int _tmain( int, _TCHAR ** )
 	{
 		size_t len = lpLastDot - szModuleFileName;
 		_tcsncpy( szTargetFileName, szModuleFileName, len );
-		_tcsncpy( szTargetFileName + len, _T(".EXE"), sizeof(szTargetFileName)/sizeof(szTargetFileName[0]) - len );
+		_tcsncpy( szTargetFileName + len, _T(".EXE"), SAL_N_ELEMENTS(szTargetFileName) - len );
 	}
 
 	// Create process with same command line, environment and stdio handles which
diff --git a/desktop/win32/source/officeloader/officeloader.cxx b/desktop/win32/source/officeloader/officeloader.cxx
index 094d7fd..c5e34dc 100644
--- a/desktop/win32/source/officeloader/officeloader.cxx
+++ b/desktop/win32/source/officeloader/officeloader.cxx
@@ -51,6 +51,7 @@
 #include <systools/win32/uwinapi.h>
 
 #include "rtl/string.h"
+#include <sal/macros.h>
 
 #include "../../../source/inc/exithelper.hxx"
 #include "../extendloaderenvironment.hxx"
@@ -201,7 +202,7 @@ int WINAPI _tWinMain( HINSTANCE, HINSTANCE, LPTSTR, int )
     {
         size_t len = lpLastSlash - szModuleFileName + 1;
         _tcsncpy( szPerfTuneIniFile, szModuleFileName, len );
-        _tcsncpy( szPerfTuneIniFile + len, _T("perftune.ini"), sizeof(szPerfTuneIniFile)/sizeof(szPerfTuneIniFile[0]) - len );
+        _tcsncpy( szPerfTuneIniFile + len, _T("perftune.ini"), SAL_N_ELEMENTS(szPerfTuneIniFile) - len );
     }
 
     // Create process with same command line, environment and stdio handles which
diff --git a/desktop/win32/source/rebase/rebase.cxx b/desktop/win32/source/rebase/rebase.cxx
index 5afc00b..e712c8d 100644
--- a/desktop/win32/source/rebase/rebase.cxx
+++ b/desktop/win32/source/rebase/rebase.cxx
@@ -44,6 +44,7 @@
 
 #include <time.h>
 #include "sal/config.h"
+#include <sal/macros.h>
 #include "tools/pathutils.hxx"
 
 #define MY_LENGTH(s) (sizeof (s) / sizeof *(s) - 1)
@@ -120,7 +121,7 @@ void rebaseImagesInFolder( wchar_t* pszFolder, DWORD nNewImageBase )
     {
         size_t len = lpLastSlash - pszFolder + 1;
         wcsncpy( szPattern, pszFolder, len );
-        wcsncpy( szPattern + len, TEXT("*.dll"), sizeof(szPattern)/sizeof(szPattern[0]) - len );
+        wcsncpy( szPattern + len, TEXT("*.dll"), SAL_N_ELEMENTS(szPattern) - len );
     }
 
     WIN32_FIND_DATA	aFindFileData;
@@ -138,7 +139,7 @@ void rebaseImagesInFolder( wchar_t* pszFolder, DWORD nNewImageBase )
             {
                 size_t len = lpLastSlash - pszFolder + 1;
                 wcsncpy( szLibFilePath, pszFolder, len );
-                wcsncpy( szLibFilePath + len, aFindFileData.cFileName, sizeof(szLibFilePath)/sizeof(szLibFilePath[0]) - len );
+                wcsncpy( szLibFilePath + len, aFindFileData.cFileName, SAL_N_ELEMENTS(szLibFilePath) - len );
             }
 
             rebaseImage( szLibFilePath, nNewImageBase );
diff --git a/sfx2/source/appl/shutdowniconaqua.mm b/sfx2/source/appl/shutdowniconaqua.mm
index 14f12c7..a5bca0c 100644
--- a/sfx2/source/appl/shutdowniconaqua.mm
+++ b/sfx2/source/appl/shutdowniconaqua.mm
@@ -36,6 +36,7 @@
 #include "comphelper/sequenceashashmap.hxx"
 #include "vos/mutex.hxx"
 #include "sfx2/app.hxx"
+#include <sal/macros.h>
 #include "app.hrc"
 #define USE_APP_SHORTCUTS
 #include "shutdownicon.hxx"
@@ -454,7 +455,7 @@ void aqua_init_systray()
             }
             
             // insert the menu entries for launching the applications
-            for ( size_t i = 0; i < sizeof( aMenuItems ) / sizeof( aMenuItems[0] ); ++i )
+            for ( size_t i = 0; i < SAL_N_ELEMENTS( aMenuItems ); ++i )
             {
                 if ( !aModuleOptions.IsModuleInstalled( aMenuItems[i].eModuleIdentifier ) )
                     // the complete application is not even installed
diff --git a/shell/source/win32/SysShExec.cxx b/shell/source/win32/SysShExec.cxx
index e89ebfb..729812f 100644
--- a/shell/source/win32/SysShExec.cxx
+++ b/shell/source/win32/SysShExec.cxx
@@ -35,6 +35,7 @@
 #include <osl/diagnose.h>
 #include "SysShExec.hxx"
 #include <osl/file.hxx>
+#include <sal/macros.h>
 
 #include <com/sun/star/system/SystemShellExecuteFlags.hpp>
 
@@ -145,7 +146,7 @@ namespace // private
     };
 
     /* size of the table */
-    #define ERRTABLESIZE (sizeof(errtable)/sizeof(errtable[0]))
+    #define ERRTABLESIZE (SAL_N_ELEMENTS(errtable))
 
     /* The following two constants must be the minimum and maximum
     values in the (contiguous) range of osl_File_E_xec Failure errors. */
diff --git a/sal/osl/os2/file.cxx b/sal/osl/os2/file.cxx
index 78243e7..349d9f5 100644
--- a/sal/osl/os2/file.cxx
+++ b/sal/osl/os2/file.cxx
@@ -54,6 +54,7 @@
 #include <osl/diagnose.h>
 #include "file_error_transl.h"
 #include <osl/time.h>
+#include <sal/macros.h>
 
 #include "file_url.h"
 
@@ -130,12 +131,10 @@ extern "C" oslFileHandle osl_createFileHandleFromFD( int fd );
         //{  ERROR_NOT_ENOUGH_QUOTA,       osl_File_E_NOMEM    }    /* 1816 */
     };
     
-    #define ELEMENTS_OF_ARRAY(arr) (sizeof(arr)/(sizeof((arr)[0])))
-
     //#####################################################
     oslFileError MapError(APIRET dwError)
     {        
-        for (int i = 0; i < ELEMENTS_OF_ARRAY(errtable); ++i )
+        for (int i = 0; i < SAL_N_ELEMENTS(errtable); ++i )
         {
             if (dwError == errtable[i].oscode)
                 return static_cast<oslFileError>(errtable[i].errnocode);
diff --git a/sal/osl/os2/profile.c b/sal/osl/os2/profile.c
index ca2e70c..33fc557 100644
--- a/sal/osl/os2/profile.c
+++ b/sal/osl/os2/profile.c
@@ -1986,7 +1986,7 @@ static sal_Bool releaseProfile(osl_TProfileImpl* pProfile)
 }
 
 #if 0 // YD
-
+#include <sal/macros.h>
 static sal_Bool lookupProfile(const sal_Char *pszPath, const sal_Char *pszFile, sal_Char *pPath)
 {
     sal_Char *pChr, *pStr;
@@ -2169,7 +2169,7 @@ static sal_Bool lookupProfile(const sal_Char *pszPath, const sal_Char *pszFile,
 
             int i = 0;
 
-            for (i = 0; i < (sizeof(SubDirs) / sizeof(SubDirs[0])); i++)
+            for (i = 0; i < SAL_N_ELEMENTS(SubDirs); i++)
                 if (strnicmp(pStr + 1, SubDirs[i], strlen(SubDirs[i])) == 0)
                 {
                     if ( strlen(pszPath) <= 0)
diff --git a/sal/osl/unx/signal.c b/sal/osl/unx/signal.c
index 3f81f2d..0d5ee2b 100644
--- a/sal/osl/unx/signal.c
+++ b/sal/osl/unx/signal.c
@@ -68,6 +68,7 @@
 #include <osl/signal.h>
 #include <osl/process.h>
 #include <osl/thread.h>
+#include <sal/macros.h>
 #include <rtl/bootstrap.h>
 #include <rtl/digest.h>
 
@@ -572,7 +573,7 @@ static int ReportCrash( int Signal )
 
                 void *stackframes[MAX_STACK_FRAMES];
                 int  iFrame;
-                int  nFrames = backtrace( stackframes, sizeof(stackframes)/sizeof(stackframes[0]));
+                int  nFrames = backtrace( stackframes, SAL_N_ELEMENTS(stackframes);
 
                 FILE *xmlout = NULL, *stackout = NULL, *checksumout = NULL;
                 int fdxml, fdstk, fdchksum;
@@ -755,7 +756,7 @@ static int ReportCrash( int Signal )
                     rtl_uString_release(crashrep_url);
                     rtl_uString_release(crashrep_path);
 #if defined INCLUDE_BACKTRACE && (defined LINUX || defined MACOSX)
-                    snprintf( szShellCmd, sizeof(szShellCmd)/sizeof(szShellCmd[0]),
+                    snprintf( szShellCmd, SAL_N_ELEMENTS(szShellCmd),
                         "%s -p %d -s %d -xml %s -chksum %s -stack %s -noui%s",
                         rtl_string_getStr(crashrep_path_system),
                         getpid(), 
@@ -765,7 +766,7 @@ static int ReportCrash( int Signal )
                         pStackTempName,
                         bAutoCrashReport ? " -send" : "" );
 #elif defined INCLUDE_BACKTRACE && defined SOLARIS
-                    snprintf( szShellCmd, sizeof(szShellCmd)/sizeof(szShellCmd[0]),
+                    snprintf( szShellCmd, SAL_N_ELEMENTS(szShellCmd),
                         "%s -p %d -s %d -xml %s -chksum %s -noui%s",
                         rtl_string_getStr(crashrep_path_system),
                         getpid(), 
@@ -774,7 +775,7 @@ static int ReportCrash( int Signal )
                         pChecksumTempName,
                         bAutoCrashReport ? " -send" : "" );
 #else
-                    snprintf( szShellCmd, sizeof(szShellCmd)/sizeof(szShellCmd[0]),
+                    snprintf( szShellCmd, SAL_N_ELEMENTS(szShellCmd),
                         "%s -p %d -s %d -noui%s",
                         rtl_string_getStr(crashrep_path_system),
                         getpid(), Signal, bAutoCrashReport ? " -send" : "" );
@@ -820,7 +821,7 @@ static void PrintStack( int sig )
 {
 #if ! defined(MACOSX) || defined(INCLUDE_BACKTRACE)
     void *buffer[MAX_STACK_FRAMES];
-    int size = backtrace( buffer, sizeof(buffer) / sizeof(buffer[0]) );
+    int size = backtrace( buffer, SAL_N_ELEMENTS(buffer) );
 #endif
 
     fprintf( stderr, "\n\nFatal exception: Signal %d\n", sig );
diff --git a/sal/qa/rtl/textenc/rtl_textcvt.cxx b/sal/qa/rtl/textenc/rtl_textcvt.cxx
index 2d35b6e..5adafc5 100644
--- a/sal/qa/rtl/textenc/rtl_textcvt.cxx
+++ b/sal/qa/rtl/textenc/rtl_textcvt.cxx
@@ -40,6 +40,7 @@
 #include "rtl/textcvt.h"
 #include "rtl/textenc.h"
 #include "sal/types.h"
+#include <sal/macros.h>
 
 namespace {
 
@@ -1278,7 +1279,7 @@ void Test::testSingleByte() {
                 0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,0x043F,
                 0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,0x0447,
                 0x0448,0x0449,0x044A,0x044B,0x044C,0x044D,0x044E,0x044F } } };
-    for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
+    for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
         testSingleByteCharSet(data[i]);
     }
 }
@@ -2506,7 +2507,7 @@ void Test::testComplex() {
               false,
               RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR }
         };
-    for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
+    for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
         doComplexCharSetTest(data[i]);
     }
 }
@@ -2594,7 +2595,7 @@ void Test::testComplexCut() {
               false,
               false,
               RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR } */ };
-    for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
+    for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
         doComplexCharSetCutTest(data[i]);
     }
 }
@@ -2721,7 +2722,7 @@ void Test::testMime() {
         { "CP154", RTL_TEXTENCODING_PT154, false },
         { "Cyrillic-Asian", RTL_TEXTENCODING_PT154, false }
     };
-    for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
+    for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
         if (data[i].mime == 0) {
             OSL_ASSERT(data[i].reverse);
             CPPUNIT_ASSERT_EQUAL(
@@ -2821,7 +2822,7 @@ void Test::testWindows() {
         { 0, RTL_TEXTENCODING_UCS2, true },
         { 0, RTL_TEXTENCODING_ISCII_DEVANAGARI, true }
     };
-    for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
+    for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
         OSL_ASSERT(data[i].codePage != 0 || data[i].reverse);
         if (data[i].codePage != 0) {
             CPPUNIT_ASSERT_EQUAL(
@@ -2887,7 +2888,7 @@ void Test::testInfo() {
         { RTL_TEXTENCODING_PT154, RTL_TEXTENCODING_INFO_ASCII, true },
         { RTL_TEXTENCODING_PT154, RTL_TEXTENCODING_INFO_MIME, true }
     };
-    for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
+    for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
         rtl_TextEncodingInfo info;
         info.StructSize = sizeof info;
         CPPUNIT_ASSERT(rtl_getTextEncodingInfo(data[i].encoding, &info));
diff --git a/sal/rtl/source/uri.cxx b/sal/rtl/source/uri.cxx
index 8ada853..f06a7e5 100644
--- a/sal/rtl/source/uri.cxx
+++ b/sal/rtl/source/uri.cxx
@@ -43,6 +43,7 @@
 #include "rtl/ustring.h"
 #include "rtl/ustring.hxx"
 #include "sal/types.h"
+#include "sal/macros.h"
 
 #include <cstddef>
 
@@ -198,7 +199,7 @@ sal_uInt32 readUcs4(sal_Unicode const ** pBegin, sal_Unicode const * pEnd,
                 sal_Size nConverted;
                 sal_Size nDstSize = rtl_convertTextToUnicode(
                     aConverter, 0, aBuf.getStr(), aBuf.getLength(), aDst,
-                    sizeof aDst / sizeof aDst[0],
+                    SAL_N_ELEMENTS( aDst ),
                     (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR
                      | RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR
                      | RTL_TEXTTOUNICODE_FLAGS_INVALID_ERROR),
@@ -592,7 +593,7 @@ sal_Bool const * SAL_CALL rtl_getUriCharClass(rtl_UriCharClass eCharClass)
     OSL_ENSURE(
         (eCharClass >= 0
          && (sal::static_int_cast< std::size_t >(eCharClass)
-             < sizeof aCharClass / sizeof aCharClass[0])),
+             < SAL_N_ELEMENTS(aCharClass))),
         "bad eCharClass");
     return aCharClass[eCharClass];
 }
diff --git a/stoc/test/uriproc/test_uriproc.cxx b/stoc/test/uriproc/test_uriproc.cxx
index ee7d02a..fb6fb1b 100644
--- a/stoc/test/uriproc/test_uriproc.cxx
+++ b/stoc/test/uriproc/test_uriproc.cxx
@@ -55,6 +55,7 @@
 #include "rtl/ustrbuf.hxx"
 #include "rtl/ustring.hxx"
 #include "sal/types.h"
+#include <sal/macros.h>
 
 #include <cstdlib>
 
@@ -205,7 +206,7 @@ void Test::testParse() {
           "/", false, 1, "", "", "", "", "", 0, 0 },
         { "////", 0, "////", true, "",
           "//", false, 2, "", "", "", "", "", 0, 0 } };
-    for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
+    for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
         css::uno::Reference< css::uri::XUriReference > uriRef(
             m_uriFactory->parse(
                 rtl::OUString::createFromAscii(data[i].uriReference)));
@@ -595,7 +596,7 @@ void Test::testMakeAbsolute() {
           css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a#s" },
         { "scheme://a#s1", "#s2", true,
           css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a#s2" } };
-    for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
+    for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
         css::uno::Reference< css::uri::XUriReference > baseUriRef(
             m_uriFactory->parse(
                 rtl::OUString::createFromAscii(data[i].baseUriReference)));
@@ -700,7 +701,7 @@ void Test::testMakeRelative() {
           0 },
         { "scheme://auth/a/b", "scheme://auth/c/d", true, false, false,
           "../c/d", 0 } };
-    for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
+    for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
         css::uno::Reference< css::uri::XUriReference > baseUriRef(
             m_uriFactory->parse(
                 rtl::OUString::createFromAscii(data[i].baseUriReference)));
@@ -753,7 +754,7 @@ void Test::testVndSunStarExpand() {
                   RTL_CONSTASCII_USTRINGPARAM(
                       "/singletons/com.sun.star.util.theMacroExpander"))),
         css::uno::UNO_QUERY_THROW);
-    for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
+    for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
         css::uno::Reference< css::uri::XUriReference > uriRef(
             m_uriFactory->parse(
                 rtl::OUString::createFromAscii(data[i].uriReference)));
@@ -793,7 +794,7 @@ void Test::testVndSunStarScript() {
         { "vnd.sun.star.script:name?a=&", 0, true, {} },
         { "vnd.sun.star.script:name?key1=&%26=%3D&key1=hello", "name", true,
           { { "key1", "" }, { "key2", 0 }, { "&", "=" } } } };
-    for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
+    for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
         css::uno::Reference< css::uri::XUriReference > uriRef(
             m_uriFactory->parse(
                 rtl::OUString::createFromAscii(data[i].uriReference)));
@@ -950,7 +951,7 @@ void Test::testTranslator() {
         { "file:///abc/%25ef", "file:///abc/%25ef", true } };
     css::uno::Reference< css::uri::XExternalUriReferenceTranslator >
         translator(css::uri::ExternalUriReferenceTranslator::create(m_context));
-    for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
+    for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
         if (data[i].toInternal) {
             TEST_ASSERT_EQUAL(
                 "testTranslator, translateToInternal", i,
@@ -981,7 +982,7 @@ void Test::testPkgUrlFactory() {
           "vnd.sun.star.pkg://file:%2F%2F%2Fa%2525b%252fc%2Fd~e&f...@g%3fh" } };
     css::uno::Reference< css::uri::XVndSunStarPkgUrlReferenceFactory > factory(
         css::uri::VndSunStarPkgUrlReferenceFactory::create(m_context));
-    for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
+    for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
         css::uno::Reference< css::uri::XUriReference > url(
             factory->createVndSunStarPkgUrlReference(
                 m_uriFactory->parse(
diff --git a/store/source/storcach.cxx b/store/source/storcach.cxx
index 201f997..81863fc 100644
--- a/store/source/storcach.cxx
+++ b/store/source/storcach.cxx
@@ -32,6 +32,7 @@
 #include "storcach.hxx"
 
 #include "sal/types.h"
+#include "sal/macros.h"
 #include "rtl/alloc.h"
 #include "osl/diagnose.h"
 
@@ -342,7 +343,7 @@ PageCache_Impl::PageCache_Impl (sal_uInt16 nPageSize)
       m_nHit         (0),
       m_nMissed      (0)
 {
-    static size_t const theSize = sizeof(m_hash_table_0) / sizeof(m_hash_table_0[0]);
+    static size_t const theSize = SAL_N_ELEMENTS(m_hash_table_0);
     STORE_STATIC_ASSERT(theSize == theTableSize);
     memset(m_hash_table_0, 0, sizeof(m_hash_table_0));
 }
diff --git a/ure/source/uretest/cppmain.cc b/ure/source/uretest/cppmain.cc
index 0be81b6..eeb0be1 100644
--- a/ure/source/uretest/cppmain.cc
+++ b/ure/source/uretest/cppmain.cc
@@ -26,6 +26,7 @@
  ************************************************************************/
 
 #include "sal/config.h"
+#include "sal/macros.h"
 
 #include <cstddef>
 #include <functional>
@@ -179,7 +180,7 @@ private:
             ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("no service manager")),
             static_cast< ::cppu::OWeakObject * >(this));
     }
-    for (::std::size_t i = 0; i < sizeof services / sizeof services[0]; ++i) {
+    for (::std::size_t i = 0; i < SAL_N_ELEMENTS(services); ++i) {
         ::css::uno::Reference< ::css::uno::XInterface > instance;
         try {
             instance = manager->createInstanceWithContext(
@@ -200,7 +201,7 @@ private:
     }
     static char const * const singletons[] = {
         "com.sun.star.util.theMacroExpander" };
-    for (::std::size_t i = 0; i < sizeof singletons / sizeof singletons[0]; ++i)
+    for (::std::size_t i = 0; i < SAL_N_ELEMENTS(singletons); ++i)
     {
         ::rtl::OUStringBuffer b;
         b.appendAscii(RTL_CONSTASCII_STRINGPARAM("/singletons/"));
diff --git a/sw/source/ui/lingu/olmenu.cxx b/sw/source/ui/lingu/olmenu.cxx
index e0f99dd..f97c231 100644
--- a/sw/source/ui/lingu/olmenu.cxx
+++ b/sw/source/ui/lingu/olmenu.cxx
@@ -91,6 +91,7 @@
 #include <vcl/msgbox.hxx>
 #include <vcl/settings.hxx>
 #include <vcl/svapp.hxx>
+#include <sal/macros.h>
 
 #include <map>
 
@@ -179,7 +180,7 @@ LanguageType lcl_CheckLanguage(
         lang::Locale a3( SvxCreateLocale( aLangList[3] ) );
 #endif
 
-        INT32   nCount = sizeof(aLangList) / sizeof(aLangList[0]);
+        INT32   nCount = SAL_N_ELEMENTS(aLangList);
         for (INT32 i = 0;  i < nCount;  i++)
         {
             INT16 nTmpLang = aLangList[i];
diff --git a/sw/source/ui/misc/pgfnote.cxx b/sw/source/ui/misc/pgfnote.cxx
index 03ec907..018047d 100644
--- a/sw/source/ui/misc/pgfnote.cxx
+++ b/sw/source/ui/misc/pgfnote.cxx
@@ -39,6 +39,7 @@
 #include <hintids.hxx>
 #include <tools/ref.hxx>
 #include <svx/dialogs.hrc>
+#include <sal/macros.h>
 #include <vcl/field.hxx>
 #include <vcl/svapp.hxx>
 #include <unotools/localedatawrapper.hxx>
@@ -70,7 +71,7 @@ static const USHORT __FAR_DATA nLines[] = {
     500
 };
 
-static const USHORT nLineCount = sizeof(nLines) / sizeof(nLines[0]);
+static const USHORT nLineCount = SAL_N_ELEMENTS(nLines);
 
 static USHORT __FAR_DATA aPageRg[] = {
     FN_PARAM_FTN_INFO, FN_PARAM_FTN_INFO,
diff --git a/sw/source/ui/uiview/viewsrch.cxx b/sw/source/ui/uiview/viewsrch.cxx
index 9f4323d..97e4ac3 100644
--- a/sw/source/ui/uiview/viewsrch.cxx
+++ b/sw/source/ui/uiview/viewsrch.cxx
@@ -43,6 +43,7 @@
 #include <svl/itempool.hxx>
 #include <svl/eitem.hxx>
 #include <svl/srchitem.hxx>
+#include <sal/macros.h>
 #include <sfx2/request.hxx>
 #include <svx/srchdlg.hxx>
 #include <vcl/msgbox.hxx>
@@ -380,16 +381,16 @@ void SwView::ExecSearch(SfxRequest& rReq, BOOL bNoMessage)
 
             SvUShorts aArr( 0, 16 );
             aArr.Insert(	aNormalAttr,
-                            sizeof( aNormalAttr ) / sizeof( aNormalAttr[0] ),
+                            SAL_N_ELEMENTS( aNormalAttr ),
                             0 );
             if( SW_MOD()->GetCTLOptions().IsCTLFontEnabled() )
                 aArr.Insert(	aCTLAttr,
-                                sizeof( aCTLAttr ) / sizeof( aCTLAttr[0] ),
+                                SAL_N_ELEMENTS( aCTLAttr ),
                                 14 );
             SvtCJKOptions aCJKOpt;
             if( aCJKOpt.IsAnyEnabled() )
                 aArr.Insert( 	aCJKAttr,
-                                sizeof( aCJKAttr ) / sizeof( aCJKAttr[0] ),
+                                SAL_N_ELEMENTS( aCJKAttr ),
                                 14 );
 
             SfxItemSet aSet( pWrtShell->GetAttrPool(), aArr.GetData() );
diff --git a/sw/source/ui/vba/vbaborders.cxx b/sw/source/ui/vba/vbaborders.cxx
index 43a28b2..0170eb8 100644
--- a/sw/source/ui/vba/vbaborders.cxx
+++ b/sw/source/ui/vba/vbaborders.cxx
@@ -29,6 +29,7 @@
 #include <ooo/vba/word/XBorder.hpp>
 #include <ooo/vba/word/WdBorderType.hpp>
 #include <ooo/vba/word/WdLineStyle.hpp>
+#include <sal/macros.h>
 #include <cppuhelper/implbase3.hxx>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/table/TableBorder.hpp>
@@ -269,7 +270,7 @@ public:
     // XIndexAccess
     virtual ::sal_Int32 SAL_CALL getCount(  ) throw (uno::RuntimeException)
     {
-        return sizeof( supportedIndexTable ) / sizeof( supportedIndexTable[0] );
+        return SAL_N_ELEMENTS( supportedIndexTable );
     }
     virtual uno::Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (lang::IndexOutOfBoundsException, lang::WrappedTargetException, uno::RuntimeException)
     {
diff --git a/sw/source/ui/vba/vbafont.cxx b/sw/source/ui/vba/vbafont.cxx
index c7b140d..91fa3d6 100644
--- a/sw/source/ui/vba/vbafont.cxx
+++ b/sw/source/ui/vba/vbafont.cxx
@@ -3,6 +3,7 @@
 #include <com/sun/star/awt/FontUnderline.hpp>
 #include <ooo/vba/word/WdUnderline.hpp>
 #include <hash_map>
+#include <sal/macros.h>
 #include <ooo/vba/word/WdColorIndex.hpp>
 
 using namespace ::ooo::vba;
@@ -46,7 +47,7 @@ class UnderLineMapper
 private:
     UnderLineMapper()
     {
-        sal_Int32 nLen = sizeof( UnderLineTable )/ sizeof( UnderLineTable[0] );
+        sal_Int32 nLen = SAL_N_ELEMENTS( UnderLineTable );
 
         for ( sal_Int32 index=0; index<nLen; ++index )
         {
diff --git a/sw/source/ui/vba/vbaglobals.cxx b/sw/source/ui/vba/vbaglobals.cxx
index 54edbcd..efc42e0 100644
--- a/sw/source/ui/vba/vbaglobals.cxx
+++ b/sw/source/ui/vba/vbaglobals.cxx
@@ -27,7 +27,7 @@
  ************************************************************************/
 #include <vbahelper/helperdecl.hxx>
 #include "vbaglobals.hxx"
-
+#include <sal/macros.h>
 #include <comphelper/unwrapargs.hxx>
 
 #include <com/sun/star/lang/XMultiComponentFactory.hpp>
@@ -178,7 +178,7 @@ SwVbaGlobals::getAvailableServiceNames(  ) throw (uno::RuntimeException)
 //            #FIXME #TODO make Application a proper service
 //            ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "ooo.vba.word.Application" ) ),
         };
-        sal_Int32 nWordServices = ( sizeof( names )/ sizeof( names[0] ) );
+        sal_Int32 nWordServices = SAL_N_ELEMENTS( names );
         sal_Int32 startIndex = serviceNames.getLength();
         serviceNames.realloc( serviceNames.getLength() + nWordServices );
         for ( sal_Int32 index = 0; index < nWordServices; ++index )
diff --git a/sw/source/ui/vba/vbapalette.cxx b/sw/source/ui/vba/vbapalette.cxx
index 8a7da2d..e99349d 100644
--- a/sw/source/ui/vba/vbapalette.cxx
+++ b/sw/source/ui/vba/vbapalette.cxx
@@ -40,7 +40,7 @@ public:
     // Methods XIndexAccess
     virtual ::sal_Int32 SAL_CALL getCount() throw (uno::RuntimeException)
     {
-        return sizeof(ColorTable) / sizeof(ColorTable[0]);
+        return SAL_N_ELEMENTS(ColorTable);
     }
 
     virtual uno::Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (lang::IndexOutOfBoundsException, lang::WrappedTargetException, uno::RuntimeException)
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to