Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 10285ad in mainline


Ignore:
Timestamp:
2010-11-10T00:10:57Z (11 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master
Children:
4fe18151
Parents:
8c441bd
Message:

Backout the previous change as it breaks ega.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/adt/bitmap.c

    r8c441bd r10285ad  
    6969void bitmap_set_range(bitmap_t *bitmap, size_t start, size_t bits)
    7070{
    71         size_t i;
     71        size_t i = 0;
    7272        size_t aligned_start;
    7373        size_t lub;     /* leading unaligned bits */
     
    8181        amb = bits > lub ? bits - lub : 0;
    8282        tab = amb % 8;
     83       
     84        if (start + bits < aligned_start) {
     85                /* Set bits in the middle of byte. */
     86                bitmap->map[start / 8] |= ((1 << lub) - 1) << (start & 7);
     87                return;
     88        }
    8389       
    8490        if (lub) {
     
    105111void bitmap_clear_range(bitmap_t *bitmap, size_t start, size_t bits)
    106112{
    107         size_t i;
     113        size_t i = 0;
    108114        size_t aligned_start;
    109115        size_t lub;     /* leading unaligned bits */
     
    117123        amb = bits > lub ? bits - lub : 0;
    118124        tab = amb % 8;
     125
     126        if (start + bits < aligned_start) {
     127                /* Set bits in the middle of byte */
     128                bitmap->map[start / 8] &= ~(((1 << lub) - 1) << (start & 7));
     129                return;
     130        }
    119131
    120132        if (lub) {
Note: See TracChangeset for help on using the changeset viewer.