While I think it's a great idea that you want to get a decent stream library into GNOME, I think that it's a mistake to write your own, especially when the one that Jody and I wrote for Gnumeric and AbiWord (Gsf) you describe as having "no large architectural problem which prevents Gsf from implementing these features."
Please get in touch with us. We (and I'm guessing countless others) would much have you help our cause rather than re-invent the wheel. Implementing a peek_char() type of method would be trivial. I'm also thinking that async also wouldn't present much of a problem.
The GNOME port is looking really good again, including Bonobo, VFS, drag+drop, gnome print, etc... Should be an interesting 1.1.4 release. The open bug count has gone down sigfinicantly too and the # of features has gone up quite a bit. CVS is a little on the wobbly side, but nothing we can't work out before the 2.0 release in another few months.
Julian Seward wrote back to me with a response to my "does BZ2 store the uncompressed data size anywhere in the file" question. Wasn't the answer I was hoping for, but was nice to hear back from him.
"Alas, no. It's a really stupid design mistake I made in the .bz2 format not to include this info."
Well, Jody and I are looking into workarounds for this problem. We're currently dumping the input to an in-memory stream, which is slow and takes up more RAM than we'd ideally like. We're considering other options (eg. lessening the size-knowledge requirement) but they all seem like suboptimal solutions. If anyone has a time machine handy and is willing to go back and inform Julian of this oversight, it'd be much appreciated<jk>
I'm not anti-war in general, but I think that a decision such as this isn't to be taken lightly. In my mind, the public case for war against Iraq hasn't been made. Does that mean that we shouldn't go to war now? Not at all. But in order for me as a citizen of the US to be in favor of such an action, I'll need a good measure convincing before I'll give my "thumbs up" to the taking of human life. Why us? Why Iraq? Why now?