Wireshark mailing list archives

Re: Time shift patch causes compile error


From: Dirk Jagdmann <doj () cubic org>
Date: Mon, 15 Aug 2011 20:34:19 -0700

I'm not sure if my system config or the code is at fault. truncl isn't
defined anywhere in /usr/include/* except for C++ header files.
Apparently, it's a gcc builtin function. I have no idea what parameters
it expects. You're passing it long doubles, this is in line with the
manpage.

If I enable your define for windows

#define truncl(ld) floorl(ld)

things work ok for me. Should that be enabled for older gccs as well or
are you aware of gcc settings that make it define truncl() in the standard
way?

I put in this #define to make it work on Windows, but did not check too much
where the trunc() function is available elsewhere. I also think that if truncl()
is not present on other non-Windows platform, we should simply use floorl(), as
it should be available on every C compiler. floor() and trunc() only return a
different result for negative arguments. (truncl always rounds down, floorl
round towards 0)

Would could also declare the offset_float variable as "double" and use "floor()"
instead, possibly being more compatible if a platform does not support the "long
double" format. And 64bit of double should be enough for a nanosecond precision.

-- 
---> Dirk Jagdmann
----> http://cubic.org/~doj
-----> http://llg.cubic.org
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe


Current thread: