On 26.01.2018 21:14, Georg Chini wrote:
On 26.01.2018 04:22, Tanu Kaskinen wrote:
On Thu, 2018-01-25 at 09:08 +0100, Georg Chini wrote:
On 24.01.2018 01:40, Tanu Kaskinen wrote:
On Mon, 2018-01-22 at 16:19 +0100, Georg Chini wrote:
On 21.01.2018 01:03, Tanu Kaskinen wrote: So you're proposing that reading a double should take two function
calls. I think the two steps should be merged into one
pa_message_params_read_double() function. Then error handling needs to
be done only once, rather than twice per value. With this approach,
however, the question arises how to deal with nulls.

You are right, it should be folded into one function. I guess the
easiest way to handle NULL's is to have a special return value,
let's say 1 if parsing was OK, 0 if NULL was found and -1 on
parse error, similar to the split function.

Actually I noticed, that the code above is not correct. After
pa_split_message_parameter_string() three checks need to
be performed:

1) ret = 0: This does NOT mean that the element is empty,
it means that the element is completely missing (end of list).
It can still be treated like an empty element.
Why should it ever be treated like an empty element? Doesn't that make
it impossible to distinguish between an empty element and end-of-list?

The functions are retrieving a single element of a list. In that
case there is no difference if the element is empty or the
surrounding list ended (and the element is missing).
You are again right, if you want to read a list with something like

while ((ret = pa_message_param_read_xyz()) != 0) {
}

the return values must indeed be different. This is not included in v4 of
the patches but the fix is trivial. Empty element will then return -2.
For strings, an empty element is not considered an error.

Somehow the v4 patches did not make it to patchwork (yet). Any idea
why? I had a typo in the subject of the cover letter, maybe that's the
reason?
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to