[ 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)