X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=examples%2Fawait_events.c;h=9ec1d47aebfe1a93a3f91dc33b585e1ffeb9f25f;hb=refs%2Fheads%2Fmaster;hp=133d899376fb08e9ee30e7d8dc69e020b7172b3f;hpb=a20ed2965bb4921215d3657546f5a09bfd57115e;p=libserialport.git diff --git a/examples/await_events.c b/examples/await_events.c index 133d899..9ec1d47 100644 --- a/examples/await_events.c +++ b/examples/await_events.c @@ -20,7 +20,9 @@ int main(int argc, char **argv) char **port_names = argv + 1; /* The ports we will use. */ - struct sp_port *ports[num_ports]; + struct sp_port **ports = malloc(num_ports * sizeof(struct sp_port *)); + if (!ports) + abort(); /* The set of events we will wait for. */ struct sp_event_set *event_set; @@ -31,7 +33,6 @@ int main(int argc, char **argv) /* Open and configure each port, and then add its RX event * to the event set. */ for (int i = 0; i < num_ports; i++) { - printf("Looking for port %s.\n", port_names[i]); check(sp_get_port_by_name(port_names[i], &ports[i])); @@ -77,23 +78,24 @@ int check(enum sp_return result) { /* For this example we'll just exit on any error by calling abort(). */ char *error_message; + switch (result) { - case SP_ERR_ARG: - printf("Error: Invalid argument.\n"); - abort(); - case SP_ERR_FAIL: - error_message = sp_last_error_message(); - printf("Error: Failed: %s\n", error_message); - sp_free_error_message(error_message); - abort(); - case SP_ERR_SUPP: - printf("Error: Not supported.\n"); - abort(); - case SP_ERR_MEM: - printf("Error: Couldn't allocate memory.\n"); - abort(); - case SP_OK: - default: - return result; + case SP_ERR_ARG: + printf("Error: Invalid argument.\n"); + abort(); + case SP_ERR_FAIL: + error_message = sp_last_error_message(); + printf("Error: Failed: %s\n", error_message); + sp_free_error_message(error_message); + abort(); + case SP_ERR_SUPP: + printf("Error: Not supported.\n"); + abort(); + case SP_ERR_MEM: + printf("Error: Couldn't allocate memory.\n"); + abort(); + case SP_OK: + default: + return result; } }