[vlc-devel] [vlc-commits] strings: use vlc_memstream in vlc_xml_encode()

Filip Roséen filip at atch.se
Sat Feb 25 15:05:21 CET 2017

Hi Rémi,

On 2017-02-25 15:27, Rémi Denis-Courmont wrote:

> > > The explanation is factual. One does not get to agree or disagree with it.
> > 
> > Ok, now I completely am out of words. I thought this was a discussion,
> > not a place where "factual" statements expressed by one party are the
> > only truth, and opinions of the other party does not matter.
> - It is a fact, not an opinion, that ignoring an error here is safe.
> - It is a fact, not an opinion, that an error cannot happen with one back-end.
> - It is a fact, not an opinion, that an error is practically impossible to 
> trigger with the other back-end.

Just as practically impossible as memory-allocation failures.

> It is therefore also a fact that adding the error handling there will:
> - make the source code marginally more complex,
> - make the binary code marginally slower,
> - make code coverage worse.
> And it is an extremely likely conjecture if not a proven fact that the error 
> handling:
> - will not be tested much if at all,
> - will become a (good or bad) example for future code.

> Also the commit message is misleading since the error check while absent is 
> not "missing". And the code might be revectored or copied in circumstances 
> that would require less trivial and more bug-prone handling. That too would 
> normally be a conjecture rather than a fact, except that this has already 
> occurred and been proven true in other code paths (TTML, MRL helpers).

You did not even reply to the section regarding that, and I still do
not see how the implementation is so non-trivial that it is a point
you bring up against error-checking.

> > > > > > `vlc_memstream_open` can fail. If you consider it so unlikely
> > > > > > that one should not bother checking the *return-value* I do not see
> > > > > > why you put it there in the first place.
> > > > > 
> > > > > This is a red herring.
> > > > 
> > > > It is very much relevant to the discussion and cuts straight to what
> > > > you wrote about the unlikelihood of the function to fail (and not
> > > > having to check it).
> > > 
> > > You are again making the false dichotomy which you yourself deny.
> > > There is an error return because there is a possible error case.
> > > There is no "missing check" (and no VLC_USED qualifier) because the
> > > error can be safely ignored.
> > 
> > I think I have explained my ground in previous posts, but to
> > summarize:
> > 
> >  - I do not see why it is so bad introducing checks for the
> >    *return-value* (because I do not agree with your statement
> >    regarding how non-trivial an implemenation becomes), and;
> I never said it was "so bad". Indeed, it does not add any immediate bug. I do 
> believe that it makes the code worse rather than better, and thus am rejecting 
> the patch.

I will leave these two links here for future readers:

 - https://mailman.videolan.org/pipermail/vlc-devel/2017-February/111711.html
 - https://mailman.videolan.org/pipermail/vlc-devel/2017-February/111713.html
> >  - I certainly do not see why removing the *return-value* would be
> >    foolish (when actually handling it is, as stated, wrong in most
> >    (all) cases).
> If an error is possible, it looks perfectly normal and reasonable to return an 
> error status, even if the error can safely be ignored by the caller. I do not 
> see why that specific function would be any different from the myriad of 
> functions that follow the same pattern (in VLC and elsewhere).
> You seem to imply that error handling should either be mandatory or forbidden. 

That's not my opinion, my opinion (as stated numerous times) is that
the error-check is not invalid nor complicated enough to warrant it to
be non-existant.

> But I did purposedly leave error handling *optional* in this case, because it 
> added no practical cost on the implementation(*) on the one hand, and gave 
> flexibility to the user on the other hand.
> And FWIW, it is Thomas, not I, who decided to make use the second option by 
> handling the error. All three original use cases ignored it.
> And I am very very very fed up with this discussion so that will be my last 
> mail.

You are certainly not the only one, and I am still interested in the
remarks you made regarding my contributions and the quality of what I
do (because I consider what you wrote very harsh, and not at all
inspiring in terms of future contribution).

As most often, I am available on IRC if you feel like clearifying.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20170225/39fec1f2/attachment.html>

More information about the vlc-devel mailing list