diff options
-rw-r--r-- | gdk-pixbuf/io-bmp.c | 7 |
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)++; } |