From 3c60eb7e0ed7057e01b49ca5c51134de31cbe6f6 Mon Sep 17 00:00:00 2001 From: Eric Caruso Date: Mon, 30 Apr 2018 11:02:50 -0700 Subject: [PATCH] cfg, lookup, ns: avoid using __progname The __progname symbol is a GNU extension and thus not portable, but basename (from libgen.h) and argv[0] can be used portably instead. (qrtr-lookup already used argv[0] but did not apply basename, so do that for consisntency.) Signed-off-by: Eric Caruso --- src/cfg.c | 12 ++++++------ src/lookup.c | 4 +++- src/ns.c | 14 +++++++------- 3 files changed, 16 insertions(+), 14 deletions(-) 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)