Re: GDataInputStream API break
- From: Alexander Larsson <alexl redhat com>
- To: Ryan Lortie <desrt desrt ca>
- Cc: gtk-devel-list gnome org
- Subject: Re: GDataInputStream API break
- Date: Fri, 13 Nov 2009 14:50:17 +0100
On Thu, 2009-11-12 at 15:12 -0500, Ryan Lortie wrote:
> Hi
>
> I want to make a small break to the API of GDataInputStream.
>
> The details are in bug #584284.
>
> https://bugzilla.gnome.org/show_bug.cgi?id=584284
>
>
> The summary:
>
> When I implemented the async versions of read_line() and read_until() I
> got the semantics of the read_until_async() function very slightly
> different than the read_until() one. Specifically: read_until() will
> consume the separator character, and read_until_async() will not. My
> bad.
>
> In my defence, the documentation has no verbiage to indicate that the
> separator character will be consumed by either function and in the
> absence of such statements I'd believe that it wouldn't.
>
>
> I agree with the reporter that it is sufficiently weird to have
> slightly-different async vs. sync version that is warrants breaking the
> API. I also believe that it is likely that the _async() version has
> seen less use, so probably fewer problems would be caused by changing it
> rather than the synchronous one.
I don't like breaking API like this. Especially since I think its the
sync call that is really broken, and we should not also break the async
one.
Maybe we can do something like:
Add g_data_input_stream_read_until2() which doesn't consume the input.
#define g_data_input_stream_read_until g_data_input_stream_read_until2
Add a (rate limited?) g_warning to g_data_input_stream_read_until()
explaining the issue..
This would keep old binaries "working" but producing warnings that will
help these apps handle this case.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]