[Spice-devel] [client 2/2] streaming: Use the frame dimensions reported by the video decoder
Pavel Grunt
pgrunt at redhat.com
Thu May 26 06:33:59 UTC 2016
Hi Francois,
On Thu, 2016-05-26 at 01:26 +0200, Francois Gouget wrote:
> On Wed, 25 May 2016, Pavel Grunt wrote:
> [...]
> > > + do {
> > it is preferred to declare variables at the beginning of the block.
>
> That does not seem to be mentionned in the Spice coding style and
> conventions:
> http://www.spice-space.org/static/docs/spice_style.pdf
I am sorry about that, the doc is outdated, recently we are trying to update it:
https://cgit.freedesktop.org/spice/spice/tree/docs/spice_style.txt
http://www.spice-space.org/spice-project-coding-style-and-coding-conventions.htm
l
>
> There's also quite a few cases already (not even all by me!), though
> I'll admit that probably not the prevalent style).
sometimes it was not spotted during reviews (my bad), but I don't think there
are many cases.
>
> Is the goal to keep compatibility with C89 compilers? (that boat has
> sailed a long time ago)
same for C99... It is more about separating declarations from the code,
personally I find it more readable (it is possible that I am just used to it).
Maybe there are more reasons...
>
> I personally quite like that this makes it possible to keep the variable
> declarations close to where they are used so one can easily see both
> without having to scroll all the way up to the start of the function. It
> also makes it possible to further restrict the scope of the variables.
> Overall I think it makes the code more readable.
>
>
> > imo a 'goto' would be more readable than do {} while(FALSE)
>
> The problem with a goto is that then the compiler complains about some
> variables not being initialized due to the goto. That said moving the
> declarations to the start of the function makes the warnings go away. So
> it would work [1].
>
> Another option is lots of nested ifs but that's frowned upon by the
> Spice coding standard.
goto is used a lot in spice-gtk, but "do {} while(FALSE)" is only used in macro
definitions.
Pavel
>
>
>
> [1] It also means the compiler is really dumb because separating
> the declaration from the initialization should make no difference.
>
> In fact we already knew the compiler is a bit dumb since the
> variables are not used after the goto at all so it makes no sense to
> complain that the goto will leave them uninitialized.
>
>
>
More information about the Spice-devel
mailing list