From 791b6de78673f005e9748983231f7260f6b69e99 Mon Sep 17 00:00:00 2001 From: Marc Kleine-Budde Date: Wed, 30 Oct 2019 11:59:49 +0100 Subject: [PATCH] treewide: Fix compilation on libmusl, replace error() by err() Reported-by: Brandon Ros Signed-off-by: Marc Kleine-Budde --- jacd.c | 58 ++++++++++++++++++++++++++--------------------------- jcat.c | 13 ++++++------ jspy.c | 29 ++++++++++++--------------- jsr.c | 33 +++++++++++++++--------------- libj1939.c | 3 +-- testj1939.c | 26 ++++++++++++------------ 6 files changed, 78 insertions(+), 84 deletions(-) diff --git a/jacd.c b/jacd.c index 83275e2..0b7469b 100644 --- a/jacd.c +++ b/jacd.c @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include #include @@ -155,12 +155,12 @@ static int parse_range(char *str) for (tok = strtok(str, ",;"); tok; tok = strtok(NULL, ",;")) { a0 = ae = strtoul(tok, &endp, 0); if (endp <= tok) - error(1, 0, "parsing range '%s'", tok); + err(1, "parsing range '%s'", tok); if (*endp == '-') { tok = endp+1; ae = strtoul(tok, &endp, 0); if (endp <= tok) - error(1, 0, "parsing addr '%s'", tok); + err(1, "parsing addr '%s'", tok); if (ae < a0) ae = a0; } @@ -205,21 +205,21 @@ static int open_socket(const char *device, uint64_t name) fprintf(stderr, "- socket(PF_CAN, SOCK_DGRAM, CAN_J1939);\n"); sock = ret = socket(PF_CAN, SOCK_DGRAM, CAN_J1939); if (ret < 0) - error(1, errno, "socket(j1939)"); + err(1, "socket(j1939)"); if (s.verbose) fprintf(stderr, "- setsockopt(, SOL_SOCKET, SO_BINDTODEVICE, %s, %zd);\n", device, strlen(device)); ret = setsockopt(sock, SOL_SOCKET, SO_BINDTODEVICE, device, strlen(device)); if (ret < 0) - error(1, errno, "bindtodevice %s", device); + err(1, "bindtodevice %s", device); if (s.verbose) fprintf(stderr, "- setsockopt(, SOL_CAN_J1939, SO_J1939_FILTER, , %zd);\n", sizeof(filt)); ret = setsockopt(sock, SOL_CAN_J1939, SO_J1939_FILTER, &filt, sizeof(filt)); if (ret < 0) - error(1, errno, "setsockopt filter"); + err(1, "setsockopt filter"); value = 1; if (s.verbose) @@ -227,13 +227,13 @@ static int open_socket(const char *device, uint64_t name) ret = setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &value, sizeof(value)); if (ret < 0) - error(1, errno, "setsockopt set broadcast"); + err(1, "setsockopt set broadcast"); if (s.verbose) fprintf(stderr, "- bind(, %s, %zi);\n", libj1939_addr2str(&saddr), sizeof(saddr)); ret = bind(sock, (void *)&saddr, sizeof(saddr)); if (ret < 0) - error(1, errno, "bind()"); + err(1, "bind()"); return sock; } @@ -258,7 +258,7 @@ static int repeat_address(int sock, uint64_t name) ret = sendto(sock, dat, sizeof(dat), 0, (const struct sockaddr *)&saddr, sizeof(saddr)); if (must_warn(ret)) - error(1, errno, "send address claim for 0x%02x", s.last_sa); + err(1, "send address claim for 0x%02x", s.last_sa); return ret; } static int claim_address(int sock, uint64_t name, int sa) @@ -278,7 +278,7 @@ static int claim_address(int sock, uint64_t name, int sa) fprintf(stderr, "- bind(, %s, %zi);\n", libj1939_addr2str(&saddr), sizeof(saddr)); ret = bind(sock, (void *)&saddr, sizeof(saddr)); if (ret < 0) - error(1, errno, "rebind with sa 0x%02x", sa); + err(1, "rebind with sa 0x%02x", sa); s.last_sa = sa; return repeat_address(sock, name); } @@ -297,7 +297,7 @@ static int request_addresses(int sock) fprintf(stderr, "- sendto(, { 0, 0xee, 0, }, %zi, 0, %s, %zi);\n", sizeof(dat), libj1939_addr2str(&saddr), sizeof(saddr)); ret = sendto(sock, dat, sizeof(dat), 0, (void *)&saddr, sizeof(saddr)); if (must_warn(ret)) - error(1, errno, "send request for address claims"); + err(1, "send request for address claims"); return ret; } @@ -365,7 +365,7 @@ static void install_signal(int sig) sigfillset(&sigact.sa_mask); ret = sigaction(sig, &sigact, NULL); if (ret < 0) - error(1, errno, "sigaction for signal %i", sig); + err(1, "sigaction for signal %i", sig); } static void schedule_itimer(int msec) @@ -381,7 +381,7 @@ static void schedule_itimer(int msec) ret = setitimer(ITIMER_REAL, &val, NULL); } while ((ret < 0) && (errno == EINTR)); if (ret < 0) - error(1, errno, "setitimer %i msec", msec); + err(1, "setitimer %i msec", msec); } /* dump status */ @@ -422,7 +422,7 @@ static void save_cache(void) return; fp = fopen(s.cachefile, "w"); if (!fp) - error(1, errno, "fopen %s, w", s.cachefile); + err(1, "fopen %s, w", s.cachefile); time(&t); fprintf(fp, "# saved on %s\n", ctime(&t)); @@ -445,7 +445,7 @@ static void restore_cache(void) if (!fp) { if (ENOENT == errno) return; - error(1, errno, "fopen %s, r", s.cachefile); + err(1, "fopen %s, r", s.cachefile); } while (!feof(fp)) { ret = getline(&line, &sz, fp); @@ -494,9 +494,9 @@ int main(int argc, char *argv[]) case 'p': #ifdef _GNU_SOURCE if (asprintf(&program_invocation_name, "%s.%s", program_invocation_short_name, optarg) < 0) - error(1, errno, "asprintf(program invocation name)"); + err(1, "asprintf(program invocation name)"); #else - error(0, 0, "compile with -D_GNU_SOURCE to use -p"); + err(0, "compile with -D_GNU_SOURCE to use -p"); #endif break; default: @@ -515,18 +515,18 @@ int main(int argc, char *argv[]) ret = parse_range(s.ranges); if (!ret) - error(1, 0, "no addresses in range"); + err(1, "no addresses in range"); if ((s.current_sa < J1939_IDLE_ADDR) && !(addr[s.current_sa].flags & F_USE)) { if (s.verbose) - error(0, 0, "forget saved address 0x%02x", s.current_sa); + err(0, "forget saved address 0x%02x", s.current_sa); s.current_sa = J1939_IDLE_ADDR; } if (s.verbose) - error(0, 0, "ready for %s:%016llx", s.intf, (long long)s.name); + err(0, "ready for %s:%016llx", s.intf, (long long)s.name); if (!s.intf || !s.name) - error(1, 0, "bad arguments"); + err(1, "bad arguments"); ret = sock = open_socket(s.intf, s.name); sock_rx = open_socket(s.intf, s.name); @@ -545,7 +545,7 @@ int main(int argc, char *argv[]) case STATE_INITIAL: ret = request_addresses(sock); if (ret < 0) - error(1, errno, "could not sent initial request"); + err(1, "could not sent initial request"); s.state = STATE_REQ_SENT; break; case STATE_REQ_PENDING: @@ -555,7 +555,7 @@ int main(int argc, char *argv[]) /* claim addr */ sa = choose_new_sa(s.name, s.current_sa); if (sa == J1939_IDLE_ADDR) - error(1, 0, "no free address to use"); + err(1, "no free address to use"); ret = claim_address(sock, s.name, sa); if (ret < 0) schedule_itimer(50); @@ -576,7 +576,7 @@ int main(int argc, char *argv[]) if (ret < 0) { if (EINTR == errno) continue; - error(1, errno, "recvfrom()"); + err(1, "recvfrom()"); } switch (saddr.can_addr.j1939.pgn) { case J1939_PGN_REQUEST: @@ -588,7 +588,7 @@ int main(int argc, char *argv[]) break; if (s.state == STATE_REQ_SENT) { if (s.verbose) - error(0, 0, "request sent, pending for 1250 ms"); + err(0, "request sent, pending for 1250 ms"); schedule_itimer(1250); s.state = STATE_REQ_PENDING; } else if (s.state == STATE_OPERATIONAL) { @@ -618,14 +618,14 @@ int main(int argc, char *argv[]) /* ourselve, disable itimer */ s.current_sa = sa; if (s.verbose) - error(0, 0, "claimed 0x%02x", sa); + err(0, "claimed 0x%02x", sa); } else if (sa == s.current_sa) { if (s.verbose) - error(0, 0, "address collision for 0x%02x", sa); + err(0, "address collision for 0x%02x", sa); if (s.name > saddr.can_addr.j1939.name) { sa = choose_new_sa(s.name, sa); if (sa == J1939_IDLE_ADDR) { - error(0, 0, "no address left"); + err(0, "no address left"); /* put J1939_IDLE_ADDR in cache file */ s.current_sa = sa; goto done; @@ -650,7 +650,7 @@ int main(int argc, char *argv[]) } done: if (s.verbose) - error(0, 0, "shutdown"); + err(0, "shutdown"); claim_address(sock, s.name, J1939_IDLE_ADDR); save_cache(); return 0; diff --git a/jcat.c b/jcat.c index 037b6a3..fedeb66 100644 --- a/jcat.c +++ b/jcat.c @@ -5,7 +5,6 @@ #include #include -#include #include #include #include @@ -444,10 +443,10 @@ static size_t jcat_get_file_size(int fd) offset = lseek(fd, 0, SEEK_END); if (offset == -1) - error(1, errno, "%s lseek()\n", __func__); + err(1, "%s lseek()\n", __func__); if (lseek(fd, 0, SEEK_SET) == -1) - error(1, errno, "%s lseek() start\n", __func__); + err(1, "%s lseek() start\n", __func__); return offset; } @@ -470,7 +469,7 @@ static int jcat_send(struct jcat_priv *priv) break; if (lseek(priv->infile, 0, SEEK_SET) == -1) - error(1, errno, "%s lseek() start\n", __func__); + err(1, "%s lseek() start\n", __func__); } return ret; @@ -557,7 +556,7 @@ static int jcat_sock_prepare(struct jcat_priv *priv) if (setsockopt(priv->sock, SOL_SOCKET, SO_TIMESTAMPING, (char *) &sock_opt, sizeof(sock_opt))) - error(1, 0, "setsockopt timestamping"); + err(1, "setsockopt timestamping"); ret = bind(priv->sock, (void *)&priv->sockname, sizeof(priv->sockname)); if (ret < 0) { @@ -592,7 +591,7 @@ static int jcat_parse_args(struct jcat_priv *priv, int argc, char *argv[]) case 'i': priv->infile = open(optarg, O_RDONLY); if (priv->infile == -1) - error(EXIT_FAILURE, errno, "can't open input file"); + err(EXIT_FAILURE, "can't open input file"); priv->todo_filesize = 1; break; case 's': @@ -647,7 +646,7 @@ int main(int argc, char *argv[]) priv = malloc(sizeof(*priv)); if (!priv) - error(EXIT_FAILURE, errno, "can't allocate priv"); + err(EXIT_FAILURE, "can't allocate priv"); bzero(priv, sizeof(*priv)); diff --git a/jspy.c b/jspy.c index 6ae34d8..64bef2a 100644 --- a/jspy.c +++ b/jspy.c @@ -19,7 +19,7 @@ #include #include -#include +#include #include #include #include @@ -105,9 +105,6 @@ int main(int argc, char **argv) uint64_t dst_name; long recvflags; -#ifdef _GNU_SOURCE - program_invocation_name = program_invocation_short_name; -#endif /* argument parsing */ while ((opt = getopt_long(argc, argv, optstring, long_opts, NULL)) != -1) switch (opt) { @@ -123,7 +120,7 @@ int main(int argc, char **argv) case 't': if (optarg) { if (!strchr("adzA", optarg[0])) - error(1, 0, "unknown time option '%c'", optarg[0]); + err(1, "unknown time option '%c'", optarg[0]); s.time = optarg[0]; } else { s.time = 'z'; @@ -138,19 +135,19 @@ int main(int argc, char **argv) optarg = argv[optind]; ret = libj1939_str2addr(optarg, 0, &s.addr); if (ret < 0) { - error(0, 0, "bad URI %s", optarg); + err(0, "bad URI %s", optarg); return 1; } } buf = malloc(s.pkt_len); if (!buf) - error(1, errno, "malloc %u", s.pkt_len); + err(1, "malloc %u", s.pkt_len); /* setup socket */ sock = socket(PF_CAN, SOCK_DGRAM, CAN_J1939); if (sock < 0) - error(1, errno, "socket(can, dgram, j1939)"); + err(1, "socket(can, dgram, j1939)"); memset(&filt, 0, sizeof(filt)); if (s.addr.can_addr.j1939.name) { @@ -171,23 +168,23 @@ int main(int argc, char **argv) if (filter) { ret = setsockopt(sock, SOL_CAN_J1939, SO_J1939_FILTER, &filt, sizeof(filt)); if (ret < 0) - error(1, errno, "setsockopt filter"); + err(1, "setsockopt filter"); } if (s.promisc) { ret = setsockopt(sock, SOL_CAN_J1939, SO_J1939_PROMISC, &ival_1, sizeof(ival_1)); if (ret < 0) - error(1, errno, "setsockopt promisc"); + err(1, "setsockopt promisc"); } if (s.time) { ret = setsockopt(sock, SOL_SOCKET, SO_TIMESTAMP, &ival_1, sizeof(ival_1)); if (ret < 0) - error(1, errno, "setsockopt timestamp"); + err(1, "setsockopt timestamp"); } ret = setsockopt(sock, SOL_SOCKET, SO_RCVBUF, &s.pkt_len, sizeof(s.pkt_len)); if (ret < 0) - error(1, errno, "setsockopt rcvbuf %u", s.pkt_len); + err(1, "setsockopt rcvbuf %u", s.pkt_len); /* bind(): to default, only ifindex is used. */ memset(&src, 0, sizeof(src)); @@ -198,7 +195,7 @@ int main(int argc, char **argv) src.can_addr.j1939.pgn = J1939_NO_PGN; ret = bind(sock, (void *)&src, sizeof(src)); if (ret < 0) - error(1, errno, "bind(%s)", argv[1]); + err(1, "bind(%s)", argv[1]); /* these settings are static and can be held out of the hot path */ iov.iov_base = &buf[0]; @@ -209,7 +206,7 @@ int main(int argc, char **argv) memset(&tref, 0, sizeof(tref)); if (s.verbose) - error(0, 0, "listening"); + err(0, "listening"); while (1) { /* these settings may be modified by recvmsg() */ iov.iov_len = s.pkt_len; @@ -222,12 +219,12 @@ int main(int argc, char **argv) if (ret < 0) { switch (errno) { case ENETDOWN: - error(0, errno, "ifindex %i", s.addr.can_ifindex); + err(0, "ifindex %i", s.addr.can_ifindex); continue; case EINTR: continue; default: - error(1, errno, "recvmsg(ifindex %i)", s.addr.can_ifindex); + err(1, "recvmsg(ifindex %i)", s.addr.can_ifindex); break; } } diff --git a/jsr.c b/jsr.c index 20ea99c..3b84f0d 100644 --- a/jsr.c +++ b/jsr.c @@ -18,7 +18,7 @@ #include #include -#include +#include #include #include #include @@ -106,7 +106,7 @@ int main(int argc, char **argv) case 's': s.pkt_len = strtoul(optarg, 0, 0); if (!s.pkt_len) - error(1, EINVAL, "packet size of %s", optarg); + err(1, "packet size of %s", optarg); break; case 'p': s.priority = strtoul(optarg, 0, 0); @@ -125,14 +125,14 @@ int main(int argc, char **argv) optarg = argv[optind++]; ret = libj1939_str2addr(optarg, 0, &s.src); if (ret < 0) - error(1, 0, "bad address spec [%s]", optarg); + err(1, "bad address spec [%s]", optarg); s.defined |= DEF_SRC; } if (argv[optind]) { optarg = argv[optind++]; ret = libj1939_str2addr(optarg, 0, &s.dst); if (ret < 0) - error(1, 0, "bad address spec [%s]", optarg); + err(1, "bad address spec [%s]", optarg); s.defined |= DEF_DST; } @@ -140,36 +140,36 @@ int main(int argc, char **argv) struct stat st; if (fstat(STDIN_FILENO, &st) < 0) - error(1, errno, "stat stdin, could not determine buffer size"); + err(1, "stat stdin, could not determine buffer size"); s.pkt_len = st.st_size ?: 1024; } /* prepare */ buf = malloc(s.pkt_len); if (!buf) - error(1, errno, "malloc %u", s.pkt_len); + err(1, "malloc %u", s.pkt_len); sock = socket(PF_CAN, SOCK_DGRAM, CAN_J1939); if (sock < 0) - error(1, errno, "socket(can, dgram, j1939)"); + err(1, "socket(can, dgram, j1939)"); if (s.defined & DEF_PRIO) { ret = setsockopt(sock, SOL_CAN_J1939, SO_J1939_SEND_PRIO, &s.priority, sizeof(s.priority)); if (ret < 0) - error(1, errno, "setsockopt priority"); + err(1, "setsockopt priority"); } if (s.defined & DEF_SRC) { s.src.can_family = AF_CAN; ret = bind(sock, (void *)&s.src, sizeof(s.src)); if (ret < 0) - error(1, errno, "bind(%s), %i", libj1939_addr2str(&s.src), -errno); + err(1, "bind(%s), %i", libj1939_addr2str(&s.src), -errno); } if (s.defined & DEF_DST) { s.dst.can_family = AF_CAN; ret = connect(sock, (void *)&s.dst, sizeof(s.dst)); if (ret < 0) - error(1, errno, "connect(%s), %i", libj1939_addr2str(&s.dst), -errno); + err(1, "connect(%s), %i", libj1939_addr2str(&s.dst), -errno); } pfd[0].fd = STDIN_FILENO; @@ -183,27 +183,26 @@ int main(int argc, char **argv) if (ret < 0) { if (errno == EINTR) continue; - error(1, errno, "poll()"); + err(1, "poll()"); } if (pfd[0].revents) { ret = read(pfd[0].fd, buf, s.pkt_len); if (ret < 0) - error(1, errno, "read(stdin)"); + err(1, "read(stdin)"); if (!ret) break; len = ret; do { ret = send(pfd[1].fd, buf, len, s.sendflags); - if (ret < 0) - error(errno != ENOBUFS, errno, "write(%s)", - libj1939_addr2str(&s.src)); + if (ret < 0 && errno != ENOBUFS) + err(1, "write(%s)", libj1939_addr2str(&s.src)); } while (ret < 0); } if (pfd[1].revents) { ret = read(pfd[1].fd, buf, s.pkt_len); if (ret < 0) { ret = errno; - error(0, errno, "read(%s)", libj1939_addr2str(&s.dst)); + err(0, "read(%s)", libj1939_addr2str(&s.dst)); switch (ret) { case EHOSTDOWN: break; @@ -212,7 +211,7 @@ int main(int argc, char **argv) } } else { if (write(STDOUT_FILENO, buf, ret) < 0) - error(1, errno, "write(stdout)"); + err(1, "write(stdout)"); } } } diff --git a/libj1939.c b/libj1939.c index 5970d02..a710b73 100644 --- a/libj1939.c +++ b/libj1939.c @@ -16,7 +16,6 @@ #include #include -#include #include #include #include @@ -42,7 +41,7 @@ static inline void fetch_names(void) if (!saved) { saved = if_nameindex(); if (!saved) - error(1, errno, "if_nameindex()"); + err(1, errno, "if_nameindex()"); } } diff --git a/testj1939.c b/testj1939.c index 83df1d2..82d3266 100644 --- a/testj1939.c +++ b/testj1939.c @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include #include @@ -53,7 +53,7 @@ static const char optstring[] = "?vbos::rep:cnw::"; static void onsigalrm(int sig) { - error(0, 0, "exit as requested"); + err(0, "exit as requested"); exit(0); } @@ -64,7 +64,7 @@ static void schedule_oneshot_itimer(double delay) it.it_value.tv_sec = delay; it.it_value.tv_usec = (long)(delay * 1e6) % 1000000; if (setitimer(ITIMER_REAL, &it, NULL) < 0) - error(1, errno, "schedule itimer %.3lfs", delay); + err(1, "schedule itimer %.3lfs", delay); } /* main */ @@ -103,7 +103,7 @@ int main(int argc, char *argv[]) case 's': todo_send = strtoul(optarg ?: "8", NULL, 0); if (todo_send > sizeof(dat)) - error(1, 0, "Unsupported size. max: %zu", sizeof(dat)); + err(1, "Unsupported size. max: %zu", sizeof(dat)); break; case 'r': todo_recv = 1; @@ -159,7 +159,7 @@ int main(int argc, char *argv[]) fprintf(stderr, "- socket(PF_CAN, SOCK_DGRAM, CAN_J1939);\n"); sock = ret = socket(PF_CAN, SOCK_DGRAM, CAN_J1939); if (ret < 0) - error(1, errno, "socket(j1939)"); + err(1, "socket(j1939)"); if (todo_prio >= 0) { if (verbose) @@ -167,7 +167,7 @@ int main(int argc, char *argv[]) ret = setsockopt(sock, SOL_CAN_J1939, SO_J1939_SEND_PRIO, &todo_prio, sizeof(todo_prio)); if (ret < 0) - error(1, errno, "set priority %i", todo_prio); + err(1, "set priority %i", todo_prio); } if (!no_bind) { @@ -176,7 +176,7 @@ int main(int argc, char *argv[]) fprintf(stderr, "- bind(, %s, %zi);\n", libj1939_addr2str(&sockname), sizeof(sockname)); ret = bind(sock, (void *)&sockname, sizeof(sockname)); if (ret < 0) - error(1, errno, "bind()"); + err(1, "bind()"); if (todo_rebind) { /* rebind with actual SA */ @@ -186,18 +186,18 @@ int main(int argc, char *argv[]) fprintf(stderr, "- bind(, %s, %zi);\n", libj1939_addr2str(&sockname), sizeof(sockname)); ret = bind(sock, (void *)&sockname, sizeof(sockname)); if (ret < 0) - error(1, errno, "re-bind()"); + err(1, "re-bind()"); } } if (todo_connect) { if (!valid_peername) - error(1, 0, "no peername supplied"); + err(1, "no peername supplied"); if (verbose) fprintf(stderr, "- connect(, %s, %zi);\n", libj1939_addr2str(&peername), sizeof(peername)); ret = connect(sock, (void *)&peername, sizeof(peername)); if (ret < 0) - error(1, errno, "connect()"); + err(1, "connect()"); } if (todo_send) { @@ -226,7 +226,7 @@ int main(int argc, char *argv[]) } if (ret < 0) - error(1, errno, "sendto"); + err(1, "sendto"); } /* main loop */ @@ -248,7 +248,7 @@ int main(int argc, char *argv[]) fprintf(stderr, "-\t\n"); continue; } - error(1, errno, "recvfrom()"); + err(1, "recvfrom()"); } if (todo_echo) { @@ -257,7 +257,7 @@ int main(int argc, char *argv[]) ret = sendto(sock, dat, ret, 0, (void *)&peername, peernamelen); if (ret < 0) - error(1, errno, "sendto"); + err(1, "sendto"); } if (todo_recv) { int i = 0;