aboutsummaryrefslogtreecommitdiff
path: root/ping.c
diff options
context:
space:
mode:
authorErik Andersen <andersen@codepoet.org>2000-01-29 06:29:32 +0000
committerErik Andersen <andersen@codepoet.org>2000-01-29 06:29:32 +0000
commita6d0dbc86fd8a84f9c2a05f77013bd3eb5efa697 (patch)
tree084110d01c73b978088256492695d90fb7d52ef0 /ping.c
parent8e759aa31fa3f0dea6686cb7194398e68ff76696 (diff)
downloadbusybox-a6d0dbc86fd8a84f9c2a05f77013bd3eb5efa697.tar.gz
Minor change. init now uses dup2.
-Erik
Diffstat (limited to 'ping.c')
-rw-r--r--ping.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/ping.c b/ping.c
index 5cadac3e8..5b680195a 100644
--- a/ping.c
+++ b/ping.c
@@ -1,5 +1,5 @@
/*
- * $Id: ping.c,v 1.8 2000/01/29 05:52:40 erik Exp $
+ * $Id: ping.c,v 1.9 2000/01/29 06:29:32 erik Exp $
* Mini ping implementation for busybox
*
* Copyright (C) 1999 by Randolph Chung <tausq@debian.org>
@@ -312,14 +312,17 @@ static void unpack(char *buf, int sz, struct sockaddr_in *from)
static void ping(char *host)
{
- struct protoent *proto=NULL;
+ struct protoent *proto;
struct hostent *h;
char buf[MAXHOSTNAMELEN];
char packet[DEFDATALEN + MAXIPLEN + MAXICMPLEN];
int sockopt;
proto = getprotobyname("icmp");
- if ((pingsock = socket(AF_INET, SOCK_RAW, (proto)? proto->p_proto : 1 )) < 0) { /* 1 == ICMP */
+ /* if getprotobyname failed, just silently force
+ * 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) {
fprintf(stderr, "ping: permission denied. (are you root?)\n");
} else {