On Mon, Sep 26, 2016 at 11:35:34AM +0200, Frederic Cambus wrote:
> Hi tech@,
> 
> Here is a diff to avoid calculating offset several times in rasops.c.
> This was done for a few functions already, but not all of them.
> 
> Comments? OK?

OK, that's more readable.


> 
> Index: sys/dev/rasops/rasops.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/rasops/rasops.c,v
> retrieving revision 1.42
> diff -u -p -r1.42 rasops.c
> --- sys/dev/rasops/rasops.c   7 Sep 2015 18:00:58 -0000       1.42
> +++ sys/dev/rasops/rasops.c   21 Sep 2016 14:44:58 -0000
> @@ -1577,8 +1577,10 @@ rasops_vcons_erasecols(void *cookie, int
>       int i;
>  
>       for (i = 0; i < num; i++) {
> -             scr->rs_bs[row * cols + col + i].uc = ' ';
> -             scr->rs_bs[row * cols + col + i].attr = attr;
> +             int off = row * cols + col + i;
> +
> +             scr->rs_bs[off].uc = ' ';
> +             scr->rs_bs[off].attr = attr;
>       }
>  
>       if (!scr->rs_visible)
> @@ -1626,8 +1628,10 @@ rasops_vcons_eraserows(void *cookie, int
>       int i;
>  
>       for (i = 0; i < num * cols; i++) {
> -             scr->rs_bs[row * cols + i].uc = ' ';
> -             scr->rs_bs[row * cols + i].attr = attr;
> +             int off = row * cols + i;
> +
> +             scr->rs_bs[off].uc = ' ';
> +             scr->rs_bs[off].attr = attr;
>       }
>  
>       if (!scr->rs_visible)
> @@ -1695,8 +1699,10 @@ rasops_wronly_erasecols(void *cookie, in
>       int i;
>  
>       for (i = 0; i < num; i++) {
> -             ri->ri_bs[row * cols + col + i].uc = ' ';
> -             ri->ri_bs[row * cols + col + i].attr = attr;
> +             int off = row * cols + col + i;
> +
> +             ri->ri_bs[off].uc = ' ';
> +             ri->ri_bs[off].attr = attr;
>       }
>  
>       return ri->ri_erasecols(ri, row, col, num, attr);
> @@ -1734,8 +1740,10 @@ rasops_wronly_eraserows(void *cookie, in
>       int i;
>  
>       for (i = 0; i < num * cols; i++) {
> -             ri->ri_bs[row * cols + i].uc = ' ';
> -             ri->ri_bs[row * cols + i].attr = attr;
> +             int off = row * cols + i;
> +
> +             ri->ri_bs[off].uc = ' ';
> +             ri->ri_bs[off].attr = attr;
>       }
>  
>       return ri->ri_eraserows(ri, row, num, attr);
> 

Reply via email to