[PATCH] lib/tevent: remove spectacularly complicated manual subtraction
Rusty Russell
rusty at rustcorp.com.au
Wed Aug 26 02:00:32 MDT 2009
To be completely honest, I don't quite know whether to laugh or cry at
this one:
1 + (0xFFFFFFFF & ~(s.seen - s.count))
== 1 + (~(s.seen - s.count)) # s.seen, s.count are uint32_t
== s.count - s.seen # -A == ~A + 1
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
---
lib/tevent/tevent_signal.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/lib/tevent/tevent_signal.c b/lib/tevent/tevent_signal.c
index 4a58a8b..f64f317 100644
--- a/lib/tevent/tevent_signal.c
+++ b/lib/tevent/tevent_signal.c
@@ -70,10 +70,7 @@ static struct sig_state {
*/
static uint32_t sig_count(struct sigcounter s)
{
- if (s.count >= s.seen) {
- return s.count - s.seen;
- }
- return 1 + (0xFFFFFFFF & ~(s.seen - s.count));
+ return s.count - s.seen;
}
/*
--
1.6.0.4
More information about the samba-technical
mailing list