in core/src/main/java/org/apache/james/mime4j/stream/RawFieldParser.java [373:409]
public void copyQuotedContent(final ByteSequence buf, final ParserCursor cursor,
final StringBuilder dst) {
if (cursor.atEnd()) {
return;
}
int pos = cursor.getPos();
int indexFrom = cursor.getPos();
int indexTo = cursor.getUpperBound();
char current = (char) (buf.byteAt(pos) & 0xff);
if (current != '\"') {
return;
}
pos++;
indexFrom++;
boolean escaped = false;
for (int i = indexFrom; i < indexTo; i++, pos++) {
current = (char) (buf.byteAt(i) & 0xff);
if (escaped) {
if (current != '\"' && current != '\\') {
dst.append('\\');
}
dst.append(current);
escaped = false;
} else {
if (current == '\"') {
pos++;
break;
}
if (current == '\\') {
escaped = true;
} else if (current != '\r' && current != '\n') {
dst.append(current);
}
}
}
cursor.updatePos(pos);
}