Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hid/rfb/rfb.c

    rd6ff08a0 rdd8ab1c  
    418418}
    419419
    420 static ssize_t rfb_tile_encode_raw(rfb_t *rfb, cpixel_ctx_t *cpixel,
     420static size_t rfb_tile_encode_raw(rfb_t *rfb, cpixel_ctx_t *cpixel,
    421421    rfb_rectangle_t *tile, void *buf)
    422422{
    423         ssize_t size = tile->width * tile->height * cpixel->size;
     423        size_t size = tile->width * tile->height * cpixel->size;
    424424        if (buf == NULL)
    425425                return size;
     
    435435}
    436436
    437 static ssize_t rfb_tile_encode_solid(rfb_t *rfb, cpixel_ctx_t *cpixel,
    438     rfb_rectangle_t *tile, void *buf)
     437static size_t rfb_tile_encode_solid(rfb_t *rfb, cpixel_ctx_t *cpixel,
     438    rfb_rectangle_t *tile, void *buf, size_t *size)
    439439{
    440440        /* Check if it is single color */
     
    443443                for (uint16_t x = tile->x; x < tile->x + tile->width; x++) {
    444444                        if (pixelmap_get_pixel(&rfb->framebuffer, x, y) != the_color)
    445                                 return -1;
     445                                return EINVAL;
    446446                }
    447447        }
     
    450450        if (buf)
    451451                cpixel_encode(rfb, cpixel, buf, the_color);
    452         return cpixel->size;
     452        *size = cpixel->size;
     453        return EOK;
    453454}
    454455
     
    474475                       
    475476                        uint8_t tile_enctype = RFB_TILE_ENCODING_SOLID;
    476                         ssize_t tile_size = rfb_tile_encode_solid(rfb, &cpixel, &tile, buf);
    477                         if (tile_size < 0) {
     477                        size_t tile_size;
     478                        int rc = rfb_tile_encode_solid(rfb, &cpixel, &tile, buf,
     479                            &tile_size);
     480                        if (rc != EOK) {
    478481                                tile_size = rfb_tile_encode_raw(rfb, &cpixel, &tile, buf);
    479482                                tile_enctype = RFB_TILE_ENCODING_RAW;
     
    598601        int rc = tcp_conn_send(conn, "RFB 003.008\n", 12);
    599602        if (rc != EOK) {
    600                 log_msg(LOG_DEFAULT, LVL_WARN, "Failed sending server version %d", rc);
     603                log_msg(LOG_DEFAULT, LVL_WARN, "Failed sending server version: %s",
     604                    str_error(rc));
    601605                return;
    602606        }
     
    605609        rc = recv_chars(conn, client_version, 12);
    606610        if (rc != EOK) {
    607                 log_msg(LOG_DEFAULT, LVL_WARN, "Failed receiving client version: %d", rc);
     611                log_msg(LOG_DEFAULT, LVL_WARN, "Failed receiving client version: %s",
     612                    str_error(rc));
    608613                return;
    609614        }
     
    623628        if (rc != EOK) {
    624629                log_msg(LOG_DEFAULT, LVL_WARN,
    625                     "Failed sending security handshake: %d", rc);
     630                    "Failed sending security handshake: %s", str_error(rc));
    626631                return;
    627632        }
     
    630635        rc = recv_char(conn, &selected_sec_type);
    631636        if (rc != EOK) {
    632                 log_msg(LOG_DEFAULT, LVL_WARN, "Failed receiving security type: %d", rc);
     637                log_msg(LOG_DEFAULT, LVL_WARN, "Failed receiving security type: %s",
     638                    str_error(rc));
    633639                return;
    634640        }
     
    641647        rc = tcp_conn_send(conn, &security_result, sizeof(uint32_t));
    642648        if (rc != EOK) {
    643                 log_msg(LOG_DEFAULT, LVL_WARN, "Failed sending security result: %d", rc);
     649                log_msg(LOG_DEFAULT, LVL_WARN, "Failed sending security result: %s",
     650                    str_error(rc));
    644651                return;
    645652        }
     
    649656        rc = recv_char(conn, &shared_flag);
    650657        if (rc != EOK) {
    651                 log_msg(LOG_DEFAULT, LVL_WARN, "Failed receiving client init: %d", rc);
     658                log_msg(LOG_DEFAULT, LVL_WARN, "Failed receiving client init: %s",
     659                    str_error(rc));
    652660                return;
    653661        }
     
    672680        rc = tcp_conn_send(conn, server_init, msg_length);
    673681        if (rc != EOK) {
    674                 log_msg(LOG_DEFAULT, LVL_WARN, "Failed sending server init: %d", rc);
     682                log_msg(LOG_DEFAULT, LVL_WARN, "Failed sending server init: %s",
     683                    str_error(rc));
    675684                return;
    676685        }
Note: See TracChangeset for help on using the changeset viewer.