summaryrefslogtreecommitdiff
path: root/gdk-pixbuf/io-bmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdk-pixbuf/io-bmp.c')
-rw-r--r--gdk-pixbuf/io-bmp.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gdk-pixbuf/io-bmp.c b/gdk-pixbuf/io-bmp.c
index 13ad6f2bc..4c3ad626a 100644
--- a/gdk-pixbuf/io-bmp.c
+++ b/gdk-pixbuf/io-bmp.c
@@ -626,12 +626,11 @@ static gboolean DecodeColormap (guchar *buff,
static void
find_bits (int n, int *lowest, int *n_set)
{
- int i;
-
+ *lowest = 0;
*n_set = 0;
- for (i = 31; i >= 0; i--)
- if (n & (1 << i)) {
+ for (unsigned int i = 31; n != 0; n <<= 1, i--)
+ if (n & ((unsigned int) 1 << 31)) {
*lowest = i;
(*n_set)++;
}