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


Am 16.05.2011 16:23, schrieb Michael Meeks:
Hi Christina,

On Mon, 2011-03-14 at 16:33 +0100, Christina Roßmanith wrote:
I'm playing with bug 34666 and observed that the token
HTML_UNKNOWNCONTROL_OFF is never encountered:
        Ho hum - did this get fixed - it seems that 34666 is now closed with
Indeed it has been fixed with my patch (17.3.2011) and closed (18.3.2011).
this:

        https://bugs.freedesktop.org/show_bug.cgi?id=36080#c2
This is a different problem which persists with the patch mentioned above. The attached patch (0001-*) fixes bug 36390 which is equivalent to the behaviour described in https://bugs.freedesktop.org/show_bug.cgi?id=36080#c2 . There are translations in this patch as well - sorry for that. A second patch (0005-*) introduces a test, whether it's a token that can be switched off.

Open question: Which bugs should be mentioned in the comment? Only 36390 and 34666 or 36080 as well because the patch fixes a problem discussed in the comments of that bug? Maybe there is no strict rule and it's more a matter of taste - then I'd keep 36080...

Christina
From 547ae6618e085029c90c612861c86975f3296c96 Mon Sep 17 00:00:00 2001
From: Christina Rossmanith <ChrRossmanith@web.de>
Date: Sat, 23 Apr 2011 22:25:26 +0200
Subject: [PATCH 1/5] Bug 36390 <title /> breaks html filter fixed

---
 svtools/source/svhtml/parhtml.cxx |   15 ++++++---------
 1 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/svtools/source/svhtml/parhtml.cxx b/svtools/source/svhtml/parhtml.cxx
index aa760fa..77bdb75 100644
--- a/svtools/source/svhtml/parhtml.cxx
+++ b/svtools/source/svhtml/parhtml.cxx
@@ -372,7 +372,7 @@ int HTMLParser::FilterToken( int nToken )
     {
     case sal_Unicode(EOF):
         nToken = 0;
-        break;                 // nicht verschicken
+        break;                 // don't pass
 
     case HTML_HEAD_OFF:
         bIsInBody = sal_True;
@@ -393,7 +393,7 @@ int HTMLParser::FilterToken( int nToken )
     case HTML_HTML_OFF:
         nToken = 0;
         bReadPRE = bReadListing = bReadXMP = sal_False;
-        break;         // HTML_ON wurde auch nicht verschickt !
+        break;         // HTML_ON hasn't been passed either !
 
     case HTML_PREFORMTXT_ON:
         StartPRE();
@@ -1223,12 +1223,10 @@ int HTMLParser::_GetNextToken()
                     {
                         ScanText( '>' );
 
-                        // fdo#34666: closing "/>"?:
-                        // return HTML_UNKNOWNCONTROL_OFF instead of
-                        // HTML_UNKNOWNCONTROL_ON
+                        // fdo#34666 fdo#36080 fdo#36390: closing "/>"?:
+                        // return HTML_<TOKEN>_OFF instead of HTML_<TOKEN>_ON
                         if (aToken.Len() >= 1 && '/' == aToken.GetChar(aToken.Len()-1)) {
-                            if (HTML_UNKNOWNCONTROL_ON == nRet)
-                                nRet = HTML_UNKNOWNCONTROL_OFF;
+                            nRet += 1; // HTML_<TOKEN>_ON -> HTML_<TOKEN>_OFF;
                         }
                         if( sal_Unicode(EOF) == nNextCh && rInput.IsEof() )
                         {
@@ -1351,7 +1349,6 @@ int HTMLParser::_GetNextToken()
                         bReadStyle = sal_False;
                         break;
                     }
-
                 }
             }
             break;
@@ -1648,7 +1645,7 @@ int HTMLParser::FilterPRE( int nToken )
         {
             xub_StrLen nSpaces = sal::static_int_cast< xub_StrLen >(
                 8 - (nPre_LinePos % 8));
-            DBG_ASSERT( !aToken.Len(), "Wieso ist das Token nicht leer?" );
+            DBG_ASSERT( !aToken.Len(), "Why is the token not empty?" );
             aToken.Expand( nSpaces, ' ' );
             nPre_LinePos += nSpaces;
             nToken = HTML_TEXTTOKEN;
-- 
1.7.0.4

From d283b2949c972e8236faceae3fc27fa6c71fa93e Mon Sep 17 00:00:00 2001
From: Christina Rossmanith <ChrRossmanith@web.de>
Date: Thu, 12 May 2011 11:18:14 +0200
Subject: [PATCH 5/5] Added HTML_TOKEN_ONOFF test

---
 svtools/source/svhtml/parhtml.cxx |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/svtools/source/svhtml/parhtml.cxx b/svtools/source/svhtml/parhtml.cxx
index 77bdb75..66ef97c 100644
--- a/svtools/source/svhtml/parhtml.cxx
+++ b/svtools/source/svhtml/parhtml.cxx
@@ -1225,8 +1225,9 @@ int HTMLParser::_GetNextToken()
 
                         // fdo#34666 fdo#36080 fdo#36390: closing "/>"?:
                         // return HTML_<TOKEN>_OFF instead of HTML_<TOKEN>_ON
-                        if (aToken.Len() >= 1 && '/' == aToken.GetChar(aToken.Len()-1)) {
-                            nRet += 1; // HTML_<TOKEN>_ON -> HTML_<TOKEN>_OFF;
+                        if ((HTML_TOKEN_ONOFF & nRet) && (aToken.Len() >= 1) &&
+                            ('/' == aToken.GetChar(aToken.Len()-1))) {
+                            ++nRet; // HTML_<TOKEN>_ON -> HTML_<TOKEN>_OFF;
                         }
                         if( sal_Unicode(EOF) == nNextCh && rInput.IsEof() )
                         {
-- 
1.7.0.4


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.