diff options
Diffstat (limited to 'src/tools/show.c')
-rw-r--r-- | src/tools/show.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/tools/show.c b/src/tools/show.c index 415489b..b7f665c 100644 --- a/src/tools/show.c +++ b/src/tools/show.c @@ -14,6 +14,7 @@ #include <stdlib.h> #include <stdio.h> #include <string.h> +#include <errno.h> #include <time.h> #include <netdb.h> @@ -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")) { |