summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2014-10-04 08:55:12 +1000
committerChris Johns <chrisj@rtems.org>2014-10-04 08:55:12 +1000
commit56ed56a641b69be42f5a38046307b33096014c84 (patch)
tree694fc49daec2f7e05e239c9e6b5d9fe8855c0ea8
parentbsp/stm32f4XXXX: System clock configuration (diff)
downloadrtems-56ed56a641b69be42f5a38046307b33096014c84.tar.bz2
libmisc/shell: Remove the need for -lm when linking from the ping command.
Remove the use of sqrt and so the need to link to -lm. Clean up some warnings.
-rw-r--r--cpukit/libmisc/shell/main_ping.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/cpukit/libmisc/shell/main_ping.c b/cpukit/libmisc/shell/main_ping.c
index a13d726b73..f13f24179b 100644
--- a/cpukit/libmisc/shell/main_ping.c
+++ b/cpukit/libmisc/shell/main_ping.c
@@ -86,7 +86,9 @@ __FBSDID("$FreeBSD$");
#include <ctype.h>
//#include <err.h>
#include <errno.h>
+#if !defined(__rtems__)
#include <math.h>
+#endif
#include <netdb.h>
#include <signal.h>
#include <stdio.h>
@@ -333,7 +335,6 @@ static char *pr_ntime(n_time);
static void pr_icmph(struct icmp *);
static void pr_iph(struct ip *);
static void pr_retip(struct ip *);
-static void status(int);
static void stopit(int);
static void tvsub(struct timeval *, struct timeval *);
@@ -358,7 +359,7 @@ static void g_pr_pack(char *, int, struct sockaddr_in *, struct timeval *, rtems
#define usage() g_usage(globals)
static void g_usage(rtems_shell_globals_t* globals) __dead2;
-void
+static void
rtems_shell_ping_exit (rtems_shell_globals_t* globals, int code)
{
globals->exit_code = code;
@@ -1581,14 +1582,14 @@ tvsub(out, in)
* Print out statistics when SIGINFO is received.
*/
+#if !defined(__rtems__)
static void
status(sig)
int sig __unused;
{
-#if !__rtems__
siginfo_p = 1;
-#endif
}
+#endif
static void
g_check_status(globals)
@@ -1638,10 +1639,16 @@ g_finish(globals)
if (nreceived && timing) {
double n = nreceived + nrepeats;
double avg = tsum / n;
+#if defined(__rtems__)
+ (void) printf(
+ "round-trip min/avg/max/stddev = %.3f/%.3f/%.3f ms\n",
+ tmin, avg, tmax);
+#else
double vari = tsumsq / n - avg * avg;
(void)printf(
"round-trip min/avg/max/stddev = %.3f/%.3f/%.3f/%.3f ms\n",
tmin, avg, tmax, sqrt(vari));
+#endif
}
if (nreceived)
exit(0);
@@ -1917,7 +1924,7 @@ g_fill(bp, patp, globals)
u_int ii, jj, kk;
for (cp = patp; *cp; cp++) {
- if (!isxdigit(*cp))
+ if (!isxdigit((int)*cp))
errx(&globals->exit_jmp, EX_USAGE,
"patterns must be specified as hex digits");