summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.h.in3
-rwxr-xr-xconfigure9
-rw-r--r--configure.in2
-rw-r--r--tcpdump.c39
4 files changed, 29 insertions, 24 deletions
diff --git a/config.h.in b/config.h.in
index 284b4629..bcc846b7 100644
--- a/config.h.in
+++ b/config.h.in
@@ -3,9 +3,6 @@
/* define if you want to build the possibly-buggy SMB printer */
#undef ENABLE_SMB
-/* Define to 1 if you have the `alarm' function. */
-#undef HAVE_ALARM
-
/* Define to 1 if you have the `bpf_dump' function. */
#undef HAVE_BPF_DUMP
diff --git a/configure b/configure
index acf2d14c..17de93f0 100755
--- a/configure
+++ b/configure
@@ -5049,13 +5049,12 @@ _ACEOF
fi
done
-for ac_func in setlinebuf alarm
+for ac_func in setlinebuf
do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ ac_fn_c_check_func "$LINENO" "setlinebuf" "ac_cv_func_setlinebuf"
+if test "x$ac_cv_func_setlinebuf" = xyes; then :
cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define HAVE_SETLINEBUF 1
_ACEOF
fi
diff --git a/configure.in b/configure.in
index f484c353..479b2854 100644
--- a/configure.in
+++ b/configure.in
@@ -406,7 +406,7 @@ fi
AC_REPLACE_FUNCS(vfprintf strlcat strlcpy strdup strsep getservent getopt_long)
AC_CHECK_FUNCS(fork vfork strftime)
-AC_CHECK_FUNCS(setlinebuf alarm)
+AC_CHECK_FUNCS(setlinebuf)
needsnprintf=no
AC_CHECK_FUNCS(vsnprintf snprintf,,
diff --git a/tcpdump.c b/tcpdump.c
index d2eb1077..449bf928 100644
--- a/tcpdump.c
+++ b/tcpdump.c
@@ -223,13 +223,15 @@ static void droproot(const char *, const char *);
void requestinfo(int);
#endif
-#if defined(USE_WIN32_MM_TIMER)
- #include <MMsystem.h>
- static UINT timer_id;
- static void CALLBACK verbose_stats_dump(UINT, UINT, DWORD_PTR, DWORD_PTR, DWORD_PTR);
-#elif defined(HAVE_ALARM)
+#ifdef _WIN32
+ #ifdef USE_WIN32_MM_TIMER
+ #include <MMsystem.h>
+ static UINT timer_id;
+ static void CALLBACK verbose_stats_dump(UINT, UINT, DWORD_PTR, DWORD_PTR, DWORD_PTR);
+ #endif /* USE_WIN32_MM_TIMER */
+#else /* _WIN32 */
static void verbose_stats_dump(int sig);
-#endif
+#endif /* _WIN32 */
static void info(int);
static u_int packets_captured;
@@ -2202,14 +2204,17 @@ DIAG_ON_CLANG(assign-enum)
*"-v" means tcpdump should, once per second,
* "v"erbosely report the number of packets captured.
*/
-#ifdef USE_WIN32_MM_TIMER
+#ifdef _WIN32
+ #ifdef USE_WIN32_MM_TIMER
/* call verbose_stats_dump() each 1000 +/-100msec */
timer_id = timeSetEvent(1000, 100, verbose_stats_dump, 0, TIME_PERIODIC);
setvbuf(stderr, NULL, _IONBF, 0);
-#elif defined(HAVE_ALARM)
+ #endif /* USE_WIN32_MM_TIMER */
+#else /* _WIN32 */
+ /* UN*X has alarm() */
(void)setsignal(SIGALRM, verbose_stats_dump);
alarm(1);
-#endif
+#endif /* _WIN32 */
}
if (RFileName == NULL) {
@@ -2393,13 +2398,15 @@ static void
static void
cleanup(int signo _U_)
{
-#ifdef USE_WIN32_MM_TIMER
+#ifdef _WIN32
+ #ifdef USE_WIN32_MM_TIMER
if (timer_id)
timeKillEvent(timer_id);
timer_id = 0;
-#elif defined(HAVE_ALARM)
+ #endif /* USE_WIN32_MM_TIMER */
+#else /* _WIN32 */
alarm(0);
-#endif
+#endif /* _WIN32 */
#ifdef HAVE_PCAP_BREAKLOOP
/*
@@ -2819,19 +2826,21 @@ print_packets_captured (void)
/*
* Called once each second in verbose mode while dumping to file
*/
-#ifdef USE_WIN32_MM_TIMER
+#ifdef _WIN32
+ #ifdef USE_WIN32_MM_TIMER
void CALLBACK verbose_stats_dump (UINT timer_id _U_, UINT msg _U_, DWORD_PTR arg _U_,
DWORD_PTR dw1 _U_, DWORD_PTR dw2 _U_)
{
print_packets_captured();
}
-#elif defined(HAVE_ALARM)
+ #endif /* USE_WIN32_MM_TIMER */
+#else /* _WIN32 */
static void verbose_stats_dump(int sig _U_)
{
print_packets_captured();
alarm(1);
}
-#endif
+#endif /* _WIN32 */
USES_APPLE_DEPRECATED_API
static void