diff options
author | Matt Kraai | 2000-12-22 01:48:07 +0000 |
---|---|---|
committer | Matt Kraai | 2000-12-22 01:48:07 +0000 |
commit | a9819b290848e0a760f3805d5937fa050235d707 (patch) | |
tree | b8cb8d939032c0806d62161b01e5836cb808dc3f /networking | |
parent | e9f07fb6e83b75a50760599a5d31f494841eddf7 (diff) | |
download | busybox-a9819b290848e0a760f3805d5937fa050235d707.zip busybox-a9819b290848e0a760f3805d5937fa050235d707.tar.gz |
Use busybox error handling functions wherever possible.
Diffstat (limited to 'networking')
-rw-r--r-- | networking/hostname.c | 13 | ||||
-rw-r--r-- | networking/ping.c | 30 |
2 files changed, 16 insertions, 27 deletions
diff --git a/networking/hostname.c b/networking/hostname.c index 13e52c4..c64d160 100644 --- a/networking/hostname.c +++ b/networking/hostname.c @@ -1,6 +1,6 @@ /* vi: set sw=4 ts=4: */ /* - * $Id: hostname.c,v 1.16 2000/12/07 19:56:48 markw Exp $ + * $Id: hostname.c,v 1.17 2000/12/22 01:48:07 kraai Exp $ * Mini hostname implementation for busybox * * Copyright (C) 1999 by Randolph Chung <tausq@debian.org> @@ -40,10 +40,9 @@ void do_sethostname(char *s, int isfile) if (!isfile) { if (sethostname(s, strlen(s)) < 0) { if (errno == EPERM) - error_msg("you must be root to change the hostname\n"); + error_msg_and_die("you must be root to change the hostname\n"); else - perror("sethostname"); - exit(1); + perror_msg_and_die("sethostname"); } } else { f = xfopen(s, "r"); @@ -51,10 +50,8 @@ void do_sethostname(char *s, int isfile) fclose(f); if (buf[strlen(buf) - 1] == '\n') buf[strlen(buf) - 1] = 0; - if (sethostname(buf, strlen(buf)) < 0) { - perror("sethostname"); - exit(1); - } + if (sethostname(buf, strlen(buf)) < 0) + perror_msg_and_die("sethostname"); } } diff --git a/networking/ping.c b/networking/ping.c index 4be2120..e9242e9 100644 --- a/networking/ping.c +++ b/networking/ping.c @@ -1,6 +1,6 @@ /* vi: set sw=4 ts=4: */ /* - * $Id: ping.c,v 1.29 2000/12/18 03:57:16 kraai Exp $ + * $Id: ping.c,v 1.30 2000/12/22 01:48:07 kraai Exp $ * Mini ping implementation for busybox * * Copyright (C) 1999 by Randolph Chung <tausq@debian.org> @@ -190,10 +190,8 @@ static void ping(const char *host) int pingsock, c; char packet[DEFDATALEN + MAXIPLEN + MAXICMPLEN]; - if ((pingsock = socket(AF_INET, SOCK_RAW, 1)) < 0) { /* 1 == ICMP */ - perror("ping: creating a raw socket"); - exit(1); - } + if ((pingsock = socket(AF_INET, SOCK_RAW, 1)) < 0) /* 1 == ICMP */ + perror_msg_and_die("creating a raw socket"); /* drop root privs if running setuid */ setuid(getuid()); @@ -216,12 +214,8 @@ static void ping(const char *host) c = sendto(pingsock, packet, sizeof(packet), 0, (struct sockaddr *) &pingaddr, sizeof(struct sockaddr_in)); - if (c < 0 || c != sizeof(packet)) { - if (c < 0) - perror("ping: sendto"); - error_msg("write incomplete\n"); - exit(1); - } + if (c < 0 || c != sizeof(packet)) + perror_msg_and_die("sendto"); signal(SIGALRM, noresp); alarm(5); /* give the host 5000ms to respond */ @@ -234,7 +228,7 @@ static void ping(const char *host) (struct sockaddr *) &from, &fromlen)) < 0) { if (errno == EINTR) continue; - perror("ping: recvfrom"); + perror_msg("recvfrom"); continue; } if (c >= 76) { /* ip + icmp */ @@ -439,12 +433,10 @@ static void ping(const char *host) * proto->p_proto to have the correct value for "icmp" */ if ((pingsock = socket(AF_INET, SOCK_RAW, (proto ? proto->p_proto : 1))) < 0) { /* 1 == ICMP */ - if (errno == EPERM) { - error_msg("permission denied. (are you root?)\n"); - } else { - perror("ping: creating a raw socket"); - } - exit(1); + if (errno == EPERM) + error_msg_and_die("permission denied. (are you root?)\n"); + else + perror_msg_and_die("creating a raw socket"); } /* drop root privs if running setuid */ @@ -498,7 +490,7 @@ static void ping(const char *host) (struct sockaddr *) &from, &fromlen)) < 0) { if (errno == EINTR) continue; - perror("ping: recvfrom"); + perror_msg("recvfrom"); continue; } unpack(packet, c, &from); |