in main/src/main/java/org/apache/james/jdkim/tagvalue/TagValue.java [62:105]
protected CharSequence trimFWS(CharSequence data, int tStart, int tStop,
boolean trimWSP) {
if (DEBUG)
System.out.println("1[" + data + "]" + tStart + "|" + tStop + "="
+ data.subSequence(tStart, tStop + 1) + "]");
// rimozione di FWS a inizio selezione
while (tStart < tStop
&& (data.charAt(tStart) == ' ' || data.charAt(tStart) == '\t')
|| (tStart < tStop - 2 && data.charAt(tStart) == '\r'
&& data.charAt(tStart + 1) == '\n' && (data
.charAt(tStart + 2) == ' ' || data.charAt(tStart + 2) == '\t'))) {
if (data.charAt(tStart) == '\r')
tStart += 3;
else
tStart++;
}
if (DEBUG)
System.out.println("2[" + data + "]" + tStart + "|" + tStop + "="
+ data.subSequence(tStart, tStop + 1) + "]");
// rimozione di FWS a fine selezione.
while (tStart < tStop
&& (data.charAt(tStop) == ' ' || data.charAt(tStop) == '\t')) {
tStop--;
while ((tStart <= tStop - 1 && data.charAt(tStop) == '\n' && data
.charAt(tStop - 1) == '\r')
|| (tStart < tStop && (data.charAt(tStop) == ' ' || data
.charAt(tStop) == '\t'))) {
if (data.charAt(tStop) == '\n')
tStop -= 2;
else
tStop--;
}
}
if (DEBUG)
System.out.println("3[" + data + "]" + tStart + "|" + tStop + "="
+ data.subSequence(tStart, tStop + 1) + "]");
if (trimWSP) {
return trimWSP(data, tStart, tStop);
} else {
return data.subSequence(tStart, tStop + 1);
}
}