aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-08-30 22:22:15 -0400
committerNick Mathewson <nickm@torproject.org>2011-08-30 22:22:15 -0400
commit0ac4b0f99d12a76f07f24d747a77f2bc07e481e3 (patch)
tree35543fe7969e3da794709d411d011c6f42d58731
parent03760f6c6f0c580542c8bfc519062b65afdc8d5f (diff)
downloadtor-0ac4b0f99d12a76f07f24d747a77f2bc07e481e3.tar
tor-0ac4b0f99d12a76f07f24d747a77f2bc07e481e3.tar.gz
Check for lround with autoconf; fall back to rint.
-rw-r--r--configure.in2
-rw-r--r--src/common/util.c8
2 files changed, 6 insertions, 4 deletions
diff --git a/configure.in b/configure.in
index 4e8429845..df1b70978 100644
--- a/configure.in
+++ b/configure.in
@@ -223,7 +223,7 @@ dnl -------------------------------------------------------------------
dnl Check for functions before libevent, since libevent-1.2 apparently
dnl exports strlcpy without defining it in a header.
-AC_CHECK_FUNCS(gettimeofday ftime socketpair uname inet_aton strptime getrlimit strlcat strlcpy strtoull getaddrinfo localtime_r gmtime_r memmem strtok_r writev readv flock prctl vasprintf)
+AC_CHECK_FUNCS(gettimeofday ftime socketpair uname inet_aton strptime getrlimit strlcat strlcpy strtoull getaddrinfo localtime_r gmtime_r memmem strtok_r writev readv flock prctl vasprintf lround rint)
using_custom_malloc=no
if test x$enable_openbsd_malloc = xyes ; then
diff --git a/src/common/util.c b/src/common/util.c
index ee0acbbb0..de1ca3684 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -334,10 +334,12 @@ tor_mathlog(double d)
long
tor_lround(double d)
{
-#ifdef _MSC_VER
- return (long)(d > 0 ? d + 0.5 : ceil(d - 0.5));
-#else
+#if defined(HAVE_LROUND)
return lround(d);
+#elif defined(HAVE_RINT)
+ return (long)rint(d);
+#else
+ return (long)(d > 0 ? d + 0.5 : ceil(d - 0.5));
#endif
}