}
}
+#if NET_2_0
+ public bool EndOfStream {
+ get { return Peek () < 0; }
+ }
+#endif
+
public override void Close ()
{
Dispose (true);
if (foundCR) // don't include the trailing CR if present
decoded_count--;
- line_builder.Append (new string (decoded_buffer, begin, decoded_count - begin));
+ line_builder.Append (decoded_buffer, begin, decoded_count - begin);
if (ReadBuffer () == 0) {
if (line_builder.Capacity > 32768) {
StringBuilder sb = line_builder;
begin = pos;
end = FindNextEOL ();
if (end < decoded_count && end >= begin) {
- line_builder.Append (new string (decoded_buffer, begin, end - begin));
+ line_builder.Append (decoded_buffer, begin, end - begin);
if (line_builder.Capacity > 32768) {
StringBuilder sb = line_builder;
line_builder = null;
char [] buffer = new char [size];
int len;
- while ((len = Read (buffer, 0, size)) != 0)
+ while ((len = Read (buffer, 0, size)) > 0)
text.Append (buffer, 0, len);
return text.ToString ();