wizards/source/scriptforge/SF_String.xba |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 30a6bf3960c37124c9c3cdbaec4794153e24c83a
Author:     Jean-Pierre Ledure <j...@ledure.be>
AuthorDate: Wed Jun 22 18:10:36 2022 +0200
Commit:     Jean-Pierre Ledure <j...@ledure.be>
CommitDate: Thu Jun 23 12:14:01 2022 +0200

    ScriptForge - (SF_String) FIX Unquote() with "'" as quoting char
    
    The quoting character (2nd argument of the method)
    can be the single or the double quote.
    
    The single quote was erroneously ignored.
    
    Additionally comments are added in the code
    about non-symmetrical escaping approaches:
            "" or \'
    (maybe to be added in help texts ?)
    
    Commit to push to libreoffice-7-4 branch too.
    
    Change-Id: Ifd8f66ee9e60310fdc292aa0f338e88d941b2e21
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136292
    Tested-by: Jean-Pierre Ledure <j...@ledure.be>
    Reviewed-by: Jean-Pierre Ledure <j...@ledure.be>
    Tested-by: Jenkins

diff --git a/wizards/source/scriptforge/SF_String.xba 
b/wizards/source/scriptforge/SF_String.xba
index 10ce48045ab8..888cf672c5da 100644
--- a/wizards/source/scriptforge/SF_String.xba
+++ b/wizards/source/scriptforge/SF_String.xba
@@ -2539,6 +2539,9 @@ Public Function Unquote(Optional ByRef InputStr As 
Variant _
                                                        ) As String
 &apos;&apos;&apos;     Reset a quoted string to its original content
 &apos;&apos;&apos;             (used f.i. for parsing of csv-like records)
+&apos;&apos;&apos;     When the input string contains the quote character, the 
latter must be escaped:
+&apos;&apos;&apos;             - QuoteChar = double quote, by doubling it 
(&quot;&quot;)
+&apos;&apos;&apos;             - QuoteChar = single quote, with a preceding 
backslash (\&apos;)
 &apos;&apos;&apos;     Args:
 &apos;&apos;&apos;             InputStr: the input string
 &apos;&apos;&apos;             QuoteChar: either &quot; (default) or &apos;
@@ -2567,7 +2570,7 @@ Check:
        End If
 
 Try:
-       If Left(InputStr, 1) &lt;&gt; &quot;&quot;&quot;&quot; Then     &apos;  
No need to parse further
+       If Left(InputStr, 1) &lt;&gt; QuoteChar Then            &apos;  No need 
to parse further
                sUnquote = InputStr
        Else
                Set oCharacterClass = 
SF_Utils._GetUNOService(&quot;CharacterClass&quot;)

Reply via email to