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


Hi *,

I'm sending 2 patches removing finally SvULongs from LibreOffice:)

Cheers,
        Maciej
From 820bb5c8f68c2cb0219dfa49cacae094c32f62f2 Mon Sep 17 00:00:00 2001
From: Maciej Rumianowski <maciej.rumianowski@gmail.com>
Date: Fri, 30 Sep 2011 15:55:58 +0200
Subject: [PATCH] Finally remove SvULongs

In all places SvULongs have been replaced with std::vector, now can be totally removed.
---
 svl/inc/svl/svarray.hxx         |    2 +-
 svl/inc/svl/svstdarr.hxx        |    7 +------
 svl/source/memtools/svarray.cxx |    2 --
 3 files changed, 2 insertions(+), 9 deletions(-)

diff --git a/svl/inc/svl/svarray.hxx b/svl/inc/svl/svarray.hxx
index 52b35ac..a0db903 100644
--- a/svl/inc/svl/svarray.hxx
+++ b/svl/inc/svl/svarray.hxx
@@ -81,7 +81,7 @@
 *           Sortierung mit Hilfe der Object-operatoren "<" und "=="
 *
 * JP 09.10.96:  vordefinierte Arrays:
-*   VarArr:     SvULongs, SvUShorts
+*   VarArr:     SvUShorts
 *   PtrArr:     SvStrings, SvStringsDtor
 *   SortArr:    SvStringsSort, SvStringsSortDtor,
 *               SvStringsISort, SvStringsISortDtor
diff --git a/svl/inc/svl/svstdarr.hxx b/svl/inc/svl/svstdarr.hxx
index 2dd5b89..6968cc6 100644
--- a/svl/inc/svl/svstdarr.hxx
+++ b/svl/inc/svl/svstdarr.hxx
@@ -32,7 +32,7 @@
 *   (die defines setzen sich aus "_SVSTDARR_" und dem Namen des Array
 *    ohne "Sv" zusammen)
 *
-*   VarArr:     SvULongs, SvUShorts
+*   VarArr:     SvUShorts
 *   PtrArr:     SvStrings, SvStringsDtor
 *   SortArr:    SvStringsSort, SvStringsSortDtor,
 *               SvStringsISort, SvStringsISortDtor,
@@ -42,11 +42,6 @@
 #include <svl/svarray.hxx>
 #include <deque>
 
-#ifndef _SVSTDARR_ULONGS_DECL
-SV_DECL_VARARR_VISIBILITY( SvULongs, sal_uLong, 1, 1, SVL_DLLPUBLIC )
-#define _SVSTDARR_ULONGS_DECL
-#endif
-
 #ifndef _SVSTDARR_USHORTS_DECL
 SV_DECL_VARARR_VISIBILITY( SvUShorts, sal_uInt16, 1, 1, SVL_DLLPUBLIC )
 #define _SVSTDARR_USHORTS_DECL
diff --git a/svl/source/memtools/svarray.cxx b/svl/source/memtools/svarray.cxx
index bdbadca..88cc111 100644
--- a/svl/source/memtools/svarray.cxx
+++ b/svl/source/memtools/svarray.cxx
@@ -31,7 +31,6 @@
 
 #define _SVARRAY_CXX
 
-#define _SVSTDARR_ULONGS
 #define _SVSTDARR_sal_uInt16S
 #define _SVSTDARR_STRINGS
 #define _SVSTDARR_STRINGSDTOR
@@ -62,7 +61,6 @@ sal_uInt16 SvPtrarr::GetPos( const VoidPtr& aElement ) const
     return ( n >= nA ? USHRT_MAX : n );
 }
 
-SV_IMPL_VARARR( SvULongs, sal_uLong )
 SV_IMPL_VARARR( SvUShorts, sal_uInt16 )
 
 SV_IMPL_PTRARR( SvStrings, StringPtr )
-- 
1.7.4.1

From f24880f4f444f80b4edcad4740240c9119ea7908 Mon Sep 17 00:00:00 2001
From: Maciej Rumianowski <maciej.rumianowski@gmail.com>
Date: Fri, 30 Sep 2011 15:39:11 +0200
Subject: [PATCH] Get rid of SvNums

SvNums is a define for SvUShort and SvULong, both are replaced with std::vector
---
 svl/source/items/itemset.cxx |    7 -------
 svl/source/items/nranges.cxx |   15 +++++++++------
 2 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx
index 0dba305..1a479ad 100644
--- a/svl/source/items/itemset.cxx
+++ b/svl/source/items/itemset.cxx
@@ -32,10 +32,7 @@
 #include <string.h>
 
 #include <cstdarg>
-#define _SVSTDARR_USHORTS
-#define _SVSTDARR_ULONGS
 
-#include <svl/svstdarr.hxx>
 #include <svl/itemset.hxx>
 #include <svl/itempool.hxx>
 #include <svl/itemiter.hxx>
@@ -58,19 +55,15 @@ DBG_NAME(SfxItemSet)
 //========================================================================
 
 #define NUMTYPE         sal_uInt16
-#define SvNums          SvUShorts
 #define SfxNumRanges    SfxUShortRanges
 #include "nranges.cxx"
 #undef NUMTYPE
-#undef SvNums
 #undef SfxNumRanges
 
 #define NUMTYPE         sal_uLong
-#define SvNums          SvULongs
 #define SfxNumRanges    SfxULongRanges
 #include "nranges.cxx"
 #undef NUMTYPE
-#undef SvNums
 #undef SfxNumRanges
 
 //========================================================================
diff --git a/svl/source/items/nranges.cxx b/svl/source/items/nranges.cxx
index 0b8942c..38b9e01 100644
--- a/svl/source/items/nranges.cxx
+++ b/svl/source/items/nranges.cxx
@@ -29,6 +29,7 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_svl.hxx"
 
+#include <vector>
 // compiled via include from itemset.cxx only!
 
 //========================================================================
@@ -75,18 +76,20 @@ NUMTYPE InitializeRanges_Impl( NUMTYPE *&rpRanges, va_list pArgs,
 {
     NUMTYPE nSize = 0, nIns = 0;
     sal_uInt16 nCnt = 0;
-    SvNums aNumArr( 11, 8 );
-    aNumArr.Insert( nWh1, nCnt++ );
-    aNumArr.Insert( nWh2, nCnt++ );
+    std::vector<NUMTYPE> aNumArr;
+    aNumArr.push_back( nWh1 );
+    aNumArr.push_back( nWh2 );
     DBG_ASSERT( nWh1 <= nWh2, "Ungueltiger Bereich" );
     nSize += nWh2 - nWh1 + 1;
-    aNumArr.Insert( nNull, nCnt++ );
+    aNumArr.push_back( nNull );
+    nCnt = aNumArr.size();
     while ( 0 !=
             ( nIns =
               sal::static_int_cast< NUMTYPE >(
                   va_arg( pArgs, NUMTYPE_ARG ) ) ) )
     {
-        aNumArr.Insert( nIns, nCnt++ );
+        aNumArr.push_back( nIns );
+        ++nCnt;
         if ( 0 == (nCnt & 1) )       // 4,6,8, usw.
         {
             DBG_ASSERT( aNumArr[ nCnt-2 ] <= nIns, "Ungueltiger Bereich" );
@@ -98,7 +101,7 @@ NUMTYPE InitializeRanges_Impl( NUMTYPE *&rpRanges, va_list pArgs,
 
     // so, jetzt sind alle Bereiche vorhanden und
     rpRanges = new NUMTYPE[ nCnt+1 ];
-    memcpy( rpRanges, aNumArr.GetData(), sizeof(NUMTYPE) * nCnt );
+    std::copy( aNumArr.begin(), aNumArr.begin()+nCnt, rpRanges);
     *(rpRanges+nCnt) = 0;
 
     return nSize;
-- 
1.7.4.1


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.