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

Henri Yandell updated CLI-162:
------------------------------

    Attachment: CLI-162-take2.patch

Attaching patch that rolls back the previous RuntimeException throwing. The if 
statement in that patch was testing the wrong condition. This patch adds the 
correct condition, and rather than throwing an exception the text is simply 
outputted irregardless of the fact it is over the width. What should happen is 
debatable here - due to a side-effect of CLI-151, we can't do anything 
aggressive here because things were printing out happily if they were under 
width + printTabStop. Our options are either to just print, or to forcibly 
break the text. 

The test code no longer expects to get a RuntimeException.

> infinite loop in the wrapping code of HelpFormatter
> ---------------------------------------------------
>
>                 Key: CLI-162
>                 URL: https://issues.apache.org/jira/browse/CLI-162
>             Project: Commons CLI
>          Issue Type: Bug
>          Components: Help formatter
>    Affects Versions: 1.1
>            Reporter: Emmanuel Bourg
>             Fix For: 1.2
>
>         Attachments: CLI-162-take2.patch
>
>
> If there is not enough space to display a word on a single line, 
> HelpFormatter goes into a infinite loops until the JVM crashes with an 
> OutOfMemoryError.
> Test case:
> {code}
> Options options = new Options();
> options.addOption("h", "help", false, "This is a looooong description");
> HelpFormatter formatter = new HelpFormatter();
> formatter.setWidth(20);
> formatter.printHelp("app", options); // hang & crash
> {code}
> An helpful exception indicating the insufficient width would be more 
> appropriate than an OutOfMemoryError.

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

Reply via email to