diff --git a/src/show.c b/src/show.c index 415489b..b7f665c 100644 --- a/src/show.c +++ b/src/show.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -394,12 +395,13 @@ int show_main(int argc, char *argv[]) perror("Unable to list interfaces"); return 1; } + ret = !!*interfaces; interface = interfaces; for (size_t len = 0; (len = strlen(interface)); interface += len + 1) { struct wgdevice *device = NULL; if (ipc_get_device(&device, interface) < 0) { - perror("Unable to access interface"); + fprintf(stderr, "Unable to access interface %s: %s\n", interface, strerror(errno)); continue; } if (argc == 3) { @@ -414,6 +416,7 @@ int show_main(int argc, char *argv[]) printf("\n"); } free_wgdevice(device); + ret = 0; } free(interfaces); } else if (!strcmp(argv[1], "interfaces")) {