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);
     }
 

Reply via email to