Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/netecho/netecho.c

    r5d0f1bc ra8e5051  
    4141#include <task.h>
    4242#include <arg_parse.h>
     43#include <err.h>
    4344
    4445#include <net/in.h>
     
    9091int main(int argc, char *argv[])
    9192{
     93        ERROR_DECLARE;
     94
    9295        size_t size = 1024;
    9396        int verbose = 0;
     
    114117        size_t reply_length;
    115118        int value;
    116         int rc;
    117119
    118120        // parse the command line arguments
     
    121123                        switch (argv[index][1]) {
    122124                        case 'b':
    123                                 rc = arg_parse_int(argc, argv, &index, &backlog, 0);
    124                                 if (rc != EOK)
    125                                         return rc;
     125                                ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &backlog, 0));
    126126                                break;
    127127                        case 'c':
    128                                 rc = arg_parse_int(argc, argv, &index, &count, 0);
    129                                 if (rc != EOK)
    130                                         return rc;
     128                                ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &count, 0));
    131129                                break;
    132130                        case 'f':
    133                                 rc = arg_parse_name_int(argc, argv, &index, &family, 0, socket_parse_protocol_family);
    134                                 if (rc != EOK)
    135                                         return rc;
     131                                ERROR_PROPAGATE(arg_parse_name_int(argc, argv, &index, &family, 0, socket_parse_protocol_family));
    136132                                break;
    137133                        case 'h':
     
    140136                                break;
    141137                        case 'p':
    142                                 rc = arg_parse_int(argc, argv, &index, &value, 0);
    143                                 if (rc != EOK)
    144                                         return rc;
     138                                ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &value, 0));
    145139                                port = (uint16_t) value;
    146140                                break;
    147141                        case 'r':
    148                                 rc = arg_parse_string(argc, argv, &index, &reply, 0);
    149                                 if (rc != EOK)
    150                                         return rc;
     142                                ERROR_PROPAGATE(arg_parse_string(argc, argv, &index, &reply, 0));
    151143                                break;
    152144                        case 's':
    153                                 rc = arg_parse_int(argc, argv, &index, &value, 0);
    154                                 if (rc != EOK)
    155                                         return rc;
     145                                ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &value, 0));
    156146                                size = (value >= 0) ? (size_t) value : 0;
    157147                                break;
    158148                        case 't':
    159                                 rc = arg_parse_name_int(argc, argv, &index, &value, 0, socket_parse_socket_type);
    160                                 if (rc != EOK)
    161                                         return rc;
     149                                ERROR_PROPAGATE(arg_parse_name_int(argc, argv, &index, &value, 0, socket_parse_socket_type));
    162150                                type = (sock_type_t) value;
    163151                                break;
     
    168156                        case '-':
    169157                                if (str_lcmp(argv[index] + 2, "backlog=", 6) == 0) {
    170                                         rc = arg_parse_int(argc, argv, &index, &backlog, 8);
    171                                         if (rc != EOK)
    172                                                 return rc;
     158                                        ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &backlog, 8));
    173159                                } else if (str_lcmp(argv[index] + 2, "count=", 6) == 0) {
    174                                         rc = arg_parse_int(argc, argv, &index, &count, 8);
     160                                        ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &count, 8));
    175161                                } else if (str_lcmp(argv[index] + 2, "family=", 7) == 0) {
    176                                         rc = arg_parse_name_int(argc, argv, &index, &family, 9, socket_parse_protocol_family);
    177                                         if (rc != EOK)
    178                                                 return rc;
     162                                                ERROR_PROPAGATE(arg_parse_name_int(argc, argv, &index, &family, 9, socket_parse_protocol_family));
    179163                                } else if (str_lcmp(argv[index] + 2, "help", 5) == 0) {
    180164                                        echo_print_help();
    181165                                        return EOK;
    182166                                } else if (str_lcmp(argv[index] + 2, "port=", 5) == 0) {
    183                                         rc = arg_parse_int(argc, argv, &index, &value, 7);
    184                                         if (rc != EOK)
    185                                                 return rc;
     167                                        ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &value, 7));
    186168                                        port = (uint16_t) value;
    187169                                } else if (str_lcmp(argv[index] + 2, "reply=", 6) == 0) {
    188                                         rc = arg_parse_string(argc, argv, &index, &reply, 8);
    189                                         if (rc != EOK)
    190                                                 return rc;
     170                                        ERROR_PROPAGATE(arg_parse_string(argc, argv, &index, &reply, 8));
    191171                                } else if (str_lcmp(argv[index] + 2, "size=", 5) == 0) {
    192                                         rc = arg_parse_int(argc, argv, &index, &value, 7);
    193                                         if (rc != EOK)
    194                                                 return rc;
     172                                        ERROR_PROPAGATE(arg_parse_int(argc, argv, &index, &value, 7));
    195173                                        size = (value >= 0) ? (size_t) value : 0;
    196174                                } else if (str_lcmp(argv[index] + 2, "type=", 5) == 0) {
    197                                         rc = arg_parse_name_int(argc, argv, &index, &value, 7, socket_parse_socket_type);
    198                                         if (rc != EOK)
    199                                                 return rc;
     175                                        ERROR_PROPAGATE(arg_parse_name_int(argc, argv, &index, &value, 7, socket_parse_socket_type));
    200176                                        type = (sock_type_t) value;
    201177                                } else if (str_lcmp(argv[index] + 2, "verbose", 8) == 0) {
     
    264240                }
    265241                // set the backlog
    266                 rc = listen(listening_id, backlog);
    267                 if (rc != EOK) {
    268                         socket_print_error(stderr, rc, "Socket listen: ", "\n");
    269                         return rc;
     242                if (ERROR_OCCURRED(listen(listening_id, backlog))) {
     243                        socket_print_error(stderr, ERROR_CODE, "Socket listen: ", "\n");
     244                        return ERROR_CODE;
    270245                }
    271246        }
    272247
    273248        // bind the listenning socket
    274         rc = bind(listening_id, address, addrlen);
    275         if (rc != EOK) {
    276                 socket_print_error(stderr, rc, "Socket bind: ", "\n");
    277                 return rc;
     249        if (ERROR_OCCURRED(bind(listening_id, address, addrlen))) {
     250                socket_print_error(stderr, ERROR_CODE, "Socket bind: ", "\n");
     251                return ERROR_CODE;
    278252        }
    279253
     
    327301                                        // parse the source address
    328302                                        if (address_start) {
    329                                                 rc = inet_ntop(address->sa_family, address_start, address_string, sizeof(address_string));
    330                                                 if (rc != EOK) {
    331                                                         fprintf(stderr, "Received address error %d\n", rc);
     303                                                if (ERROR_OCCURRED(inet_ntop(address->sa_family, address_start, address_string, sizeof(address_string)))) {
     304                                                        fprintf(stderr, "Received address error %d\n", ERROR_CODE);
    332305                                                } else {
    333306                                                        data[length] = '\0';
     
    338311
    339312                                // answer the request either with the static reply or the original data
    340                                 rc = sendto(socket_id, reply ? reply : data, reply ? reply_length : length, 0, address, addrlen);
    341                                 if (rc != EOK)
    342                                         socket_print_error(stderr, rc, "Socket send: ", "\n");
     313                                if (ERROR_OCCURRED(sendto(socket_id, reply ? reply : data, reply ? reply_length : length, 0, address, addrlen)))
     314                                        socket_print_error(stderr, ERROR_CODE, "Socket send: ", "\n");
    343315                        }
    344316
    345317                        // close the accepted stream socket
    346318                        if (type == SOCK_STREAM) {
    347                                 rc = closesocket(socket_id);
    348                                 if (rc != EOK)
    349                                         socket_print_error(stderr, rc, "Close socket: ", "\n");
     319                                if (ERROR_OCCURRED(closesocket(socket_id)))
     320                                        socket_print_error(stderr, ERROR_CODE, "Close socket: ", "\n");
    350321                        }
    351322
     
    364335
    365336        // close the listenning socket
    366         rc = closesocket(listening_id);
    367         if (rc != EOK) {
    368                 socket_print_error(stderr, rc, "Close socket: ", "\n");
    369                 return rc;
     337        if (ERROR_OCCURRED(closesocket(listening_id))) {
     338                socket_print_error(stderr, ERROR_CODE, "Close socket: ", "\n");
     339                return ERROR_CODE;
    370340        }
    371341
Note: See TracChangeset for help on using the changeset viewer.