diff --git a/src/cfg.c b/src/cfg.c index 8ed103d..75ff3ea 100644 --- a/src/cfg.c +++ b/src/cfg.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -13,11 +14,9 @@ #include "libqrtr.h" -static void usage(void) +static void usage(const char *progname) { - extern char *__progname; - - fprintf(stderr, "%s \n", __progname); + fprintf(stderr, "%s \n", progname); exit(1); } @@ -38,13 +37,14 @@ int main(int argc, char **argv) char *ep; int sock; int ret; + const char *progname = basename(argv[0]); if (argc != 2) - usage(); + usage(progname); addrul = strtoul(argv[1], &ep, 10); if (argv[1][0] == '\0' || *ep != '\0' || addrul >= UINT_MAX) - usage(); + usage(progname); addr = addrul; /* Trigger loading of the qrtr kernel module */ diff --git a/src/lookup.c b/src/lookup.c index 1a3bbc1..04d6153 100644 --- a/src/lookup.c +++ b/src/lookup.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -103,6 +104,7 @@ int main(int argc, char **argv) int sock; int len; int rc; + const char *progname = basename(argv[0]); rc = 0; memset(&pkt, 0, sizeof(pkt)); @@ -116,7 +118,7 @@ int main(int argc, char **argv) case 1: break; } if (rc) - errx(1, "Usage: %s [ [ []]]", argv[0]); + errx(1, "Usage: %s [ [ []]]", progname); sock = socket(AF_QIPCRTR, SOCK_DGRAM, 0); if (sock < 0) diff --git a/src/ns.c b/src/ns.c index e746b12..b3cdb36 100644 --- a/src/ns.c +++ b/src/ns.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -746,11 +747,9 @@ static void qrtr_set_address(uint32_t addr) close(sock); } -static void usage(void) +static void usage(const char *progname) { - extern char *__progname; - - fprintf(stderr, "%s [-f] []\n", __progname); + fprintf(stderr, "%s [-f] []\n", progname); exit(1); } @@ -766,6 +765,7 @@ int main(int argc, char **argv) char *ep; int opt; int rc; + const char *progname = basename(argv[0]); while ((opt = getopt(argc, argv, "f")) != -1) { switch (opt) { @@ -773,21 +773,21 @@ int main(int argc, char **argv) foreground = true; break; default: - usage(); + usage(progname); } } if (optind < argc) { addr = strtoul(argv[optind], &ep, 10); if (argv[1][0] == '\0' || *ep != '\0' || addr >= UINT_MAX) - usage(); + usage(progname); qrtr_set_address(addr); optind++; } if (optind != argc) - usage(); + usage(progname); w = waiter_create(); if (w == NULL)