294 |
} |
} |
295 |
} |
} |
296 |
|
|
|
void bitmap_set(guchar *bitmap, guint size, guint idx, gboolean value) |
|
|
{ |
|
|
if (value) |
|
|
bitmap[idx >> 3] |= 1 << (idx & 7); |
|
|
else |
|
|
bitmap[idx >> 3] &= ~(1 << (idx & 7)); |
|
|
} |
|
|
|
|
|
gboolean bitmap_get(guchar *bitmap, guint size, guint idx) |
|
|
{ |
|
|
return bitmap[idx >> 3] & (1 << (idx & 7)); |
|
|
} |
|
|
|
|
|
gint bitmap_find_unset(guchar *bitmap, guint size) |
|
|
{ |
|
|
int i; |
|
|
|
|
|
for (i = 0; i < size; i++) |
|
|
if (bitmap[i] != 0xff) |
|
|
return (i << 3) + g_bit_nth_lsf(~bitmap[i], -1); |
|
|
|
|
|
return -1; |
|
|
} |
|
|
|
|
297 |
char *convert_to_locale(char *str) |
char *convert_to_locale(char *str) |
298 |
{ |
{ |
299 |
const char *from, *to; |
const char *from, *to; |