[ 
https://issues.apache.org/jira/browse/LANG-929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Henri Yandell resolved LANG-929.
--------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: Patch Needed)
                   3.2

svn ci -m "Rewriting OctalUnescaper as a hand rolled parser (all of 4 
characters), instead of trying to handle the conversion via repeated attempts 
to convert the numbers. This fixes bugs, see LANG-929, and also changes the 
behaviour for 'illegal' octals such as \999. Instead of throwing 
NumberFormatException, it will now ignore them. This seems the better 
behaviour. "
Sending        
src/main/java/org/apache/commons/lang3/text/translate/OctalUnescaper.java
Sending        
src/test/java/org/apache/commons/lang3/text/translate/OctalUnescaperTest.java
Transmitting file data ..
Committed revision 1535914.


> OctalUnescaper code is complex, leading to bugs
> -----------------------------------------------
>
>                 Key: LANG-929
>                 URL: https://issues.apache.org/jira/browse/LANG-929
>             Project: Commons Lang
>          Issue Type: Improvement
>          Components: lang.text.translate.*
>            Reporter: Henri Yandell
>            Assignee: Henri Yandell
>             Fix For: 3.2
>
>
> My gut is that the code in OctalUnescaper is unnecessarily complex. It feels 
> simpler to look at the legitimate values for an Octal more explicitly. 
> Thinking the current code through, it fails if you pass it \279. That should 
> be octal \27 followed by a 9, but instead it will try to parse it as an Octal 
> and throw a NumberFormatException. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to