[Olsr-dev] Broken TIME_DUE macro
Tue Nov 17 16:54:16 CET 2009
Am Dienstag 17 November 2009 12:21:58 schrieb Jernej Kos:
> while writing a plugin for olsrd (version 0.5.6-r5) I noticed that the
> TIME_DUE macro defined in src/defs.h doesn't actually work properly. The
> macro is as follows:
> #define TIME_DUE(s1) ((int)((s1) * olsr_cnf->system_tick_divider) -
> But this is incorrect as s1 is a timestamp and is already in system
> ticks. So the order of operations is wrong, one would need to first
> subtract now_times and then multiply by system_tick_divider to get the
> actual miliseconds like this:
> #define TIME_DUE(s1) ((int)((s1 - now_times) *
> I have redefined it in my plugin, but have noticed that this macro is
> used in update_link_entry (link_set.c) to calculate some timer duration
> and might therefore cause some problems over there.
Most likely you missunderstood the macro (or the comment in the header file
was wrong), but I will look at the issue.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 198 bytes
Desc: This is a digitally signed message part.
More information about the Olsr-dev