Ignore:
File:
1 edited

Legend:

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

    r1382446 r4c6fd56  
    11/*
     2 * Copyright (c) 2023 Jiri Svoboda
    23 * Copyright (c) 2011 Martin Decky
    34 * All rights reserved.
     
    4445#include "output.h"
    4546
    46 #define MAX_COLS  128
    47 #define MAX_ROWS  128
    48 
    4947typedef struct {
    5048        link_t link;
     
    115113static void srv_get_dimensions(ipc_call_t *icall)
    116114{
    117         sysarg_t cols = MAX_COLS;
    118         sysarg_t rows = MAX_ROWS;
    119 
    120         list_foreach(outdevs, link, outdev_t, dev) {
    121                 cols = min(cols, dev->cols);
    122                 rows = min(rows, dev->rows);
     115        sysarg_t cols = 0;
     116        sysarg_t rows = 0;
     117        bool first;
     118
     119        first = true;
     120        list_foreach(outdevs, link, outdev_t, dev) {
     121                if (first) {
     122                        cols = dev->cols;
     123                        rows = dev->rows;
     124                        first = false;
     125                } else {
     126                        cols = min(cols, dev->cols);
     127                        rows = min(rows, dev->rows);
     128                }
    123129        }
    124130
     
    463469int main(int argc, char *argv[])
    464470{
     471        loc_srv_t *srv;
     472
    465473        if (argc < 2) {
    466474                usage(argv[0]);
     
    472480        /* Register server */
    473481        async_set_fallback_port_handler(client_connection, NULL);
    474         errno_t rc = loc_server_register(NAME);
     482        errno_t rc = loc_server_register(NAME, &srv);
    475483        if (rc != EOK) {
    476484                printf("%s: Unable to register driver\n", NAME);
     
    479487
    480488        service_id_t service_id;
    481         rc = loc_service_register(argv[1], &service_id);
     489        rc = loc_service_register(srv, argv[1], &service_id);
    482490        if (rc != EOK) {
     491                loc_server_unregister(srv);
     492
    483493                printf("%s: Unable to register service %s\n", NAME, argv[1]);
    484494                return rc;
Note: See TracChangeset for help on using the changeset viewer.