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

Rémi Denis-Courmont remi at remlab.net
Sat Feb 25 09:36:54 CET 2017


Le lauantaina 25. helmikuuta 2017, 9.22.30 EET Filip Roséen a écrit :
> Hi Rémi,
> 
> On 2017-02-25 10:11, Rémi Denis-Courmont wrote:
> > > Missing check to see if `vlc_memstream_open` actually created a valid
> > > handle.
> > 
> > No. It is, by design, safe to ignore vlc_memstream_open() failure.
> > Otherwise, I´d have marked it VLC_USED.
> 
> I know that it is safe, but I do not see any reason to ignore the
> *error-code*.

This error:
- cannot happen if the VLC implementation is used,
- is nigh-impossible to trigger with the native implementation.

Therefore, this will never be tested and never be run. There is no point in 
optimizing for a case that never happens (insofar as it is otherwise 
inconsequential). It only adds unnecessary complexity, platform dependent 
behaviour, red lines in coverage testing, and eventually over time, bugs in 
untested error paths.

> For cases where having a premature error-check means a more
> complicated implementation I do see a use for a "always ok"
> `vlc_memstream_open`, but for trivial cases I'd rather see things be
> checked - even though it is not mandatory.

No. By that same argument, we would also check errors at each and every 
vlc_memstream_*() write operation - and at least double the line count. I 
wrote the implementation on purpose so that checking for errors was entirely 
optional. The whole point of vlc_memstream is to _simplify_ formatting in 
memory.

-- 
雷米‧德尼-库尔蒙
https://www.remlab.net/



More information about the vlc-devel mailing list