From 3dcdc3c9207f5c08fd1d2265de023d3ec0c55cf9 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Fri, 2 Dec 2011 09:55:39 +0100 Subject: [PATCH] modem-helpers: new helper to count number of bits set in a bitmask --- src/mm-modem-helpers.c | 10 ++++++++++ src/mm-modem-helpers.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c index 63bc07dd..bc1b27a4 100644 --- a/src/mm-modem-helpers.c +++ b/src/mm-modem-helpers.c @@ -1441,3 +1441,13 @@ done: return array; } + +guint +mm_count_bits_set (gulong number) +{ + guint c; + + for (c = 0; number; c++) + number &= number - 1; + return c; +} diff --git a/src/mm-modem-helpers.h b/src/mm-modem-helpers.h index 24ad6f53..47cd87d1 100644 --- a/src/mm-modem-helpers.h +++ b/src/mm-modem-helpers.h @@ -92,4 +92,6 @@ gint cind_response_get_max (CindResponse *r); GByteArray *mm_parse_cind_query_response(const char *reply, GError **error); +guint mm_count_bits_set (gulong number); + #endif /* MM_MODEM_HELPERS_H */