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