author | Florian Forster <ff@octo.it> | |
Sun, 19 Mar 2017 09:53:40 +0000 (10:53 +0100) | ||
committer | Florian Forster <ff@octo.it> | |
Sun, 19 Mar 2017 09:53:40 +0000 (10:53 +0100) |
1 | 2 | |||
---|---|---|---|---|
configure.ac | patch | | diff1 | | diff2 | | blob | history |
src/oping.c | patch | | diff1 | | diff2 | | blob | history |
diff --combined configure.ac
index 1d05f24cdd963f6f4df82204d058611d500594fe,266bfa398c5451e3b180c641d60e9684e1bf06fc..60138fc5cd0e4f9582c3da00f5e4508908b3f5ca
--- 1/configure.ac
--- 2/configure.ac
+++ b/configure.ac
AC_SEARCH_LIBS([nanosleep],[rt],[],
[AC_MSG_ERROR([cannot find nanosleep])])
-AC_SEARCH_LIBS([clock_gettime],[rt],[],
- [AC_MSG_ERROR([cannot find clock_gettime])])
- with_ncurses="no"
- AC_CHECK_HEADERS(ncursesw/ncurses.h ncurses.h, [with_ncurses="yes"], [])
- if test "x$with_ncurses" = "xyes"
- then
- have_ncursesw="no"
- have_ncurses="no"
- NCURSES_LIB=""
-
- AC_CHECK_LIB(ncursesw, mvwprintw, [have_ncursesw="yes"], [have_ncursesw="no"])
- AC_CHECK_LIB(ncurses, mvwprintw, [have_ncurses="yes"], [have_ncurses="no"])
-
- if test "x$have_ncursesw" = "xyes"; then
- NCURSES_LIB="-lncursesw"
- else if test "x$have_ncurses" = "xyes"; then
- NCURSES_LIB="-lncurses"
- else
- with_ncurses="no"
- fi; fi
- AC_SUBST(NCURSES_LIB)
- fi
- AM_CONDITIONAL(BUILD_WITH_LIBNCURSES, test "x$with_ncurses" = "xyes")
+ AC_ARG_WITH(ncurses, AS_HELP_STRING([--with-ncurses], [Build oping CLI tool with ncurses support]))
+ AS_IF([test "x$with_ncurses" != "xno"], [
+ can_build_with_ncurses="no"
+ PKG_CHECK_MODULES([NCURSES], [ncursesw], [can_build_with_ncurses=yes], [
+ PKG_CHECK_MODULES([NCURSES], [ncurses], [can_build_with_ncurses=yes], [
+ AC_CHECK_LIB(ncursesw, mvwprintw, [NCURSES_LIBS="-lncursesw"; can_build_with_ncurses=yes], [
+ AC_CHECK_LIB(ncurses, mvwprintw, [NCURSES_LIBS="-lncurses"; can_build_with_ncurses=yes])
+ ])
+ ])
+ ])
+
+ AS_IF([test "x$can_build_with_ncurses" = "xyes"], [
+ AC_CHECK_HEADERS([ncursesw/curses.h ncursesw.h ncurses/curses.h ncurses.h], [can_build_with_ncurses=yes; break;], [can_build_with_ncurses=no])
+ ])
+
+ AS_IF([test "x$can_build_with_ncurses" = "xno" && test "x$with_ncurses" = "xyes"], [
+ AC_MSG_ERROR([ncurses not found but explicit enabled])
+ ],
+ [test "x$can_build_with_ncurses" = "xno"], [
+ AC_MSG_WARN([Will not build oping with ncurses support -- no suiteable ncurses installation found])
+ ])
+ ])
+
+ AM_CONDITIONAL(BUILD_WITH_LIBNCURSES, test "x$with_ncurses" != "xno" && test "x$can_build_with_ncurses" = "xyes")
AC_FUNC_STRERROR_R
diff --combined src/oping.c
index de44d08b2f85e7222da053b3044fce06111faaae,bac45f05ad784fe67057e4aac4a2462d9def900b..9ac87bf6f9ce7c0f183b7f50f0aa0eb1445a3417
--- 1/src/oping.c
--- 2/src/oping.c
+++ b/src/oping.c
/* http://newsgroups.derkeiler.com/Archive/Rec/rec.games.roguelike.development/2010-09/msg00050.html */
# define _X_OPEN_SOURCE_EXTENDED
- # if HAVE_NCURSESW_NCURSES_H
- # include <ncursesw/ncurses.h>
- # elif HAVE_NCURSES_H
+ #if defined HAVE_NCURSESW_CURSES_H
+ # include <ncursesw/curses.h>
+ #elif defined HAVE_NCURSESW_H
+ # include <ncursesw.h>
+ #elif defined HAVE_NCURSES_CURSES_H
+ # include <ncurses/curses.h>
+ #elif defined HAVE_NCURSES_H
# include <ncurses.h>
- # endif
+ #else
+ # error "SysV or X/Open-compatible Curses header file required"
+ #endif
# define OPING_GREEN 1
# define OPING_YELLOW 2
if (has_colors () == TRUE)
{
start_color ();
- init_pair (OPING_GREEN, COLOR_GREEN, /* default = */ 0);
- init_pair (OPING_YELLOW, COLOR_YELLOW, /* default = */ 0);
- init_pair (OPING_RED, COLOR_RED, /* default = */ 0);
- init_pair (OPING_GREEN_HIST, COLOR_GREEN, COLOR_BLACK);
+ use_default_colors ();
+ init_pair (OPING_GREEN, COLOR_GREEN, /* default = */ -1);
+ init_pair (OPING_YELLOW, COLOR_YELLOW, /* default = */ -1);
+ init_pair (OPING_RED, COLOR_RED, /* default = */ -1);
+ init_pair (OPING_GREEN_HIST, COLOR_GREEN, -1);
init_pair (OPING_YELLOW_HIST, COLOR_YELLOW, COLOR_GREEN);
init_pair (OPING_RED_HIST, COLOR_RED, COLOR_YELLOW);
}
if (outfile != NULL)
{
- struct timespec ts = { 0, 0 };
-
- if (clock_gettime (CLOCK_REALTIME, &ts) == 0)
+ struct timeval tv = {0};
+ if (gettimeofday (&tv, NULL) == 0)
{
- double t = ((double) ts.tv_sec) + (((double) ts.tv_nsec) / 1000000000.0);
+ double t = ((double) tv.tv_sec) + (((double) tv.tv_usec) / 1000000.0);
if ((sequence % 32) == 0)
fprintf (outfile, "#time,host,latency[ms]\n");