[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - writerfilter/source

David Tardon dtardon at redhat.com
Wed Jun 19 06:27:10 PDT 2013


 writerfilter/source/rtftok/rtffly.hxx |   42 ++++++++++++----------------------
 1 file changed, 15 insertions(+), 27 deletions(-)

New commits:
commit 593b0352d22d775b5646eaf4928863fbb5a40aea
Author: David Tardon <dtardon at redhat.com>
Date:   Wed Jun 19 12:38:43 2013 +0200

    fix rtf import on big endian
    
    (cherry picked from commit fa2363344cbf85af17a80c4757b226ab43391af6)
    
    Change-Id: Ia9f589752176849f7f6700483e933767e509edf3
    Signed-off-by: David Tardon <dtardon at redhat.com>
    Reviewed-on: https://gerrit.libreoffice.org/4355
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/writerfilter/source/rtftok/rtffly.hxx b/writerfilter/source/rtftok/rtffly.hxx
index 918f800..f804b00 100644
--- a/writerfilter/source/rtftok/rtffly.hxx
+++ b/writerfilter/source/rtftok/rtffly.hxx
@@ -36,18 +36,18 @@ namespace writerfilter {
         {
             public:
                 RTFVertOrient(sal_uInt16 nValue)
+                    : nVal(nValue)
                 {
-                    Value.nVal = nValue;
                 }
 
                 sal_uInt16 GetOrient() const
                 {
-                    return Value.Flags.nOrient;
+                    return OSL_LONIBBLE(OSL_LOBYTE(nVal));
                 }
 
                 sal_uInt16 GetRelation() const
                 {
-                    return Value.Flags.nRelOrient;
+                    return OSL_HINIBBLE(OSL_LOBYTE(nVal));
                 }
 
                 sal_Int32 GetAlign() const
@@ -90,19 +90,11 @@ namespace writerfilter {
 
                 sal_uInt16 GetValue() const
                 {
-                    return Value.nVal;
+                    return nVal;
                 }
 
             private:
-                union
-                {
-                    struct
-                    {
-                        sal_uInt16 nOrient : 4;
-                        sal_uInt16 nRelOrient : 4;
-                    } Flags;
-                    sal_uInt16 nVal;
-                } Value;
+                sal_uInt16 nVal;
         };
 
         /// Stores the horizontal orientation properties of an RTF fly frame.
@@ -110,18 +102,23 @@ namespace writerfilter {
         {
             public:
                 RTFHoriOrient(sal_uInt16 nValue)
+                    : nVal(nValue)
                 {
-                    Value.nVal = nValue;
                 }
 
                 sal_uInt16 GetOrient() const
                 {
-                    return Value.Flags.nOrient;
+                    return OSL_LONIBBLE(OSL_LOBYTE(nVal));
                 }
 
                 sal_uInt16 GetRelation() const
                 {
-                    return Value.Flags.nRelOrient;
+                    return OSL_LONIBBLE(OSL_HIBYTE(nVal));
+                }
+
+                sal_uInt16 GetRelAnchor() const
+                {
+                    return OSL_HINIBBLE(OSL_LOBYTE(nVal));
                 }
 
                 sal_Int32 GetAlign() const
@@ -170,20 +167,11 @@ namespace writerfilter {
 
                 sal_uInt16 GetValue() const
                 {
-                    return Value.nVal;
+                    return nVal;
                 }
 
             private:
-                union
-                {
-                    struct
-                    {
-                        sal_uInt16 nOrient : 4;
-                        sal_uInt16 nRelAnchor : 4;
-                        sal_uInt16 nRelOrient : 4;
-                    } Flags;
-                    sal_uInt16 nVal;
-                } Value;
+                sal_uInt16 nVal;
         };
     } // namespace rtftok
 } // namespace writerfilter


More information about the Libreoffice-commits mailing list