commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Heger (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CONFIGURATION-411) XMLConfiguration: node text: first \ (backslash) of \\ (double backslash) character will not be in the configuration
Date Mon, 15 Mar 2010 20:43:27 GMT

    [ https://issues.apache.org/jira/browse/CONFIGURATION-411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845517#action_12845517
] 

Oliver Heger commented on CONFIGURATION-411:
--------------------------------------------

The escaping algorithm is implemented that it searches for backslash characters and then checks
the following character. If this is a special character like the list delimiter or another
backslash, the first backslash is dropped, and the following character is not touched. For
other characters that do not have a special meaning the backslash is retained. This approach
was used to minimize the impact of the escaping algorithm on existing property definitions.
For instance, windows path names containing only single backslashes are not escaped.

Actually, in your case it does not make any difference whether you double the second backslash
or not.

> XMLConfiguration: node text: first \ (backslash) of \\ (double backslash) character will
not be in the configuration
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-411
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-411
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 1.6
>            Reporter: Jochen Hebbrecht
>            Priority: Minor
>         Attachments: xmldoublebackslash.rar
>
>
> I have this configuration element in my XML configuration:
> {code}
> <working-folder>\\test\test</working-folder>
> {code}
> ... but when I want to print out the value, I notice the content of this node changed
to:
> {code} \test\test{code}
> So the first "\" has disappeared
> I've created a M2 project that simulates the problem. Just hit mvn eclipse:eclipse and
run the Test.java file :-).
> The problem is situated in: *org.apache.commons.configuration.PropertyConverter.class*.
Check the method:
> {code} public static List split(String s, char delimiter, boolean trim){code} => line
505.
> begin = 0
> c = "\"
> inEscape = true
> begin = 1
> c= "\"
> if (c \!= delimiter && c == LIST_ESC_CHAR) => only the second char will be
printed

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message