private bool PullFromArray(ArrayList array, StringBuilder sb, bool is_hot)
{
if (! is_hot) {
// HotText is read after Text by DoPull()*.DoClose()
// So, do not Pull() again for HotText - there ain't anything to pull
while (array.Count == 0 && Pull ()) { }
}
// FIXME: Do we want to try to extract as much data as
// possible from the filter if we get an error, or
// should we just give up afterward entirely?
if (array.Count > 0) {
foreach (string str in array)
sb.Append (str);
array.Clear ();
return true;
}
return false;
}