--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java Thu Jan 13 11:48:10 2011 -0800
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java Thu Jan 13 21:28:38 2011 -0800
@@ -99,8 +99,24 @@
* @param contentBuilder content to test for newline character at the end
* @return true if the content ends with newline.
*/
- public boolean endsWithNewLine(StringBuilder contentBuilder) {
- return ((contentBuilder.length() == 0) ||
- (contentBuilder.toString().endsWith(DocletConstants.NL)));
+ protected boolean endsWithNewLine(StringBuilder contentBuilder) {
+ int contentLength = contentBuilder.length();
+ if (contentLength == 0) {
+ return true;
+ }
+ int nlLength = DocletConstants.NL.length();
+ if (contentLength < nlLength) {
+ return false;
+ }
+ int contentIndex = contentLength - 1;
+ int nlIndex = nlLength - 1;
+ while (nlIndex >= 0) {
+ if (contentBuilder.charAt(contentIndex) != DocletConstants.NL.charAt(nlIndex)) {
+ return false;
+ }
+ contentIndex--;
+ nlIndex--;
+ }
+ return true;
}
}