Re: [PATCH v4 1/6] drm/format-helper: Add drm_fb_xrgb8888_to_gray8_line()

From: Ville Syrjälä
Date: Mon Feb 14 2022 - 07:47:15 EST


On Mon, Feb 14, 2022 at 01:12:48PM +0100, Thomas Zimmermann wrote:
> Hi
>
> Am 14.02.22 um 11:38 schrieb Andy Shevchenko:
> > On Mon, Feb 14, 2022 at 10:03:53AM +0100, Thomas Zimmermann wrote:
> >> Am 11.02.22 um 16:41 schrieb Andy Shevchenko:
> >
> > ...
> >
> >>>> IMO *always* prefer a for loop over while or do-while.
> >>>>
> >>>> The for (i = 0; i < N; i++) is such a strong paradigm in C. You
> >>>> instantly know how many times you're going to loop, at a glance. Not so
> >>>> with with the alternatives, which should be used sparingly.
> >>>
> >>> while () {} _is_ a paradigm, for-loop is syntax sugar on top of it.
> >>
> >> Naw, that's not true.
> >
> > In the section 3.5 "Loops - While and For" in "The C Programming
> > Language" 2nd by K&R, the authors said:
>
> Year of publication: 1988 . It's not the most up-to-date reference for C
> programming.
>
> >
> > The for statement ... is equivalent to ... while..."
> >
> > They said that for is equivalent to while, and not otherwise.
>
> Even leaving readability aside, it's not equivalent. You can declare
> variables as part of the for statement. (I know it's not the kernel's
> style.) Also, 'continue' statements are not well-suited in for loops,
> because it's non-obvious if the loop's update statement is being
> executed. (It isn't.)

It is.

'continue' is just shorthand for 'goto end_of_loop_body'.

--
Ville Syrjälä
Intel