static void vnc_update(VncState *vs, int x, int y, int w, int h)

{

    int i;



    h += y;



    /* round x down to ensure the loop only spans one 16-pixel block per,

       iteration.  otherwise, if (x % 16) != 0, the last iteration may span

       two 16-pixel blocks but we only mark the first as dirty

    */

    w += (x % 16);

    x -= (x % 16);



    x = MIN(x, vs->serverds.width);

    y = MIN(y, vs->serverds.height);

    w = MIN(x + w, vs->serverds.width) - x;

    h = MIN(h, vs->serverds.height);



    for (; y < h; y++)

        for (i = 0; i < w; i += 16)

            vnc_set_bit(vs->dirty_row[y], (x + i) / 16);

}

static void vnc_update(VncState *vs, int x, int y, int w, int h)

{

    int i;



    h += y;



    







    w += (x % 16);

    x -= (x % 16);



    x = MIN(x, vs->serverds.width);

    y = MIN(y, vs->serverds.height);

    w = MIN(x + w, vs->serverds.width) - x;

    h = MIN(h, vs->serverds.height);



    for (; y < h; y++)

        for (i = 0; i < w; i += 16)

            vnc_set_bit(vs->dirty_row[y], (x + i) / 16);

}

    x = MIN(x, vs->serverds.width);     y = MIN(y, vs->serverds.height);     w = MIN(x + w, vs->serverds.width) - x;     h = MIN(h, vs->serverds.height);             vnc_set_bit(vs->dirty_row[y], (x + i) / 16);
static void FUNC_0(VncState *VAR_0, int VAR_1, int VAR_2, int VAR_3, int VAR_4)

{

    int VAR_5;



    VAR_4 += VAR_2;



    







    VAR_3 += (VAR_1 % 16);

    VAR_1 -= (VAR_1 % 16);



    VAR_1 = MIN(VAR_1, VAR_0->serverds.width);

    VAR_2 = MIN(VAR_2, VAR_0->serverds.height);

    VAR_3 = MIN(VAR_1 + VAR_3, VAR_0->serverds.width) - VAR_1;

    VAR_4 = MIN(VAR_4, VAR_0->serverds.height);



    for (; VAR_2 < VAR_4; VAR_2++)

        for (VAR_5 = 0; VAR_5 < VAR_3; VAR_5 += 16)

            vnc_set_bit(VAR_0->dirty_row[VAR_2], (VAR_1 + VAR_5) / 16);

}

static void FUNC_0(VncState *VAR_0, int VAR_1, int VAR_2, int VAR_3, int VAR_4)
{ int VAR_5; VAR_4 += VAR_2; VAR_3 += (VAR_1 % 16); VAR_1 -= (VAR_1 % 16); VAR_1 = MIN(VAR_1, VAR_0->serverds.width); VAR_2 = MIN(VAR_2, VAR_0->serverds.height); VAR_3 = MIN(VAR_1 + VAR_3, VAR_0->serverds.width) - VAR_1; VAR_4 = MIN(VAR_4, VAR_0->serverds.height); for (; VAR_2 < VAR_4; VAR_2++) for (VAR_5 = 0; VAR_5 < VAR_3; VAR_5 += 16) vnc_set_bit(VAR_0->dirty_row[VAR_2], (VAR_1 + VAR_5) / 16); }