This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-csv.git
commit 699b858c4c1b7743740b2dd0440e7ae8c19b2065 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Mon Mar 11 10:15:09 2024 -0400 Call append once Better comments --- src/main/java/org/apache/commons/csv/CSVFormat.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/apache/commons/csv/CSVFormat.java b/src/main/java/org/apache/commons/csv/CSVFormat.java index 6b203a6d..c0c36ded 100644 --- a/src/main/java/org/apache/commons/csv/CSVFormat.java +++ b/src/main/java/org/apache/commons/csv/CSVFormat.java @@ -2323,28 +2323,32 @@ public final class CSVFormat implements Serializable { return; } final char quote = getQuoteCharacter().charValue(); + // (1) Append opening quote append(quote, appendable); + // (2) Append Reader content final StringBuilder builder = new StringBuilder(IOUtils.DEFAULT_BUFFER_SIZE); int c; int pos = 0; while (EOF != (c = reader.read())) { builder.append((char) c); if (c == quote) { - // write out segment up until this char + // Append current segment if (pos > 0) { - append(builder.substring(0, pos), appendable); - append(quote, appendable); + append(builder.toString(), appendable); + // Recycle builder builder.setLength(0); pos = -1; } - append((char) c, appendable); + // Append nested quote + append(quote, appendable); } pos++; } - // write last segment + // Append last segment if (pos > 0) { append(builder.substring(0, pos), appendable); } + // (3) Append closing quote append(quote, appendable); }