summaryrefslogtreecommitdiff
path: root/networking
diff options
context:
space:
mode:
authorMatt Kraai2000-12-22 01:48:07 +0000
committerMatt Kraai2000-12-22 01:48:07 +0000
commita9819b290848e0a760f3805d5937fa050235d707 (patch)
treeb8cb8d939032c0806d62161b01e5836cb808dc3f /networking
parente9f07fb6e83b75a50760599a5d31f494841eddf7 (diff)
downloadbusybox-a9819b290848e0a760f3805d5937fa050235d707.zip
busybox-a9819b290848e0a760f3805d5937fa050235d707.tar.gz
Use busybox error handling functions wherever possible.
Diffstat (limited to 'networking')
-rw-r--r--networking/hostname.c13
-rw-r--r--networking/ping.c30
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);