Changeset 8b08cf3 in mainline


Ignore:
Timestamp:
2006-06-03T14:56:15Z (19 years ago)
Author:
Jakub Vana <jakub.vana@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
9f16cb0
Parents:
586262f
Message:

Bitmap functions patch

File:
1 edited

Legend:

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

    r586262f r8b08cf3  
    6767void bitmap_set_range(bitmap_t *bitmap, index_t start, count_t bits)
    6868{
    69         index_t i;
     69        index_t i=0;
    7070        index_t aligned_start;
    7171        count_t lub;            /* leading unaligned bits */
     
    7979        amb = bits > lub ? bits - lub : 0;
    8080        tab = amb % 8;
     81       
     82        if ( start + bits < aligned_start ) {
     83            /*
     84            * Set bits in the middle of byte
     85            */
     86            bitmap->map[start / 8] |= ((1 << lub)-1) << (start&7);
     87            return;
     88        }
    8189       
    8290        if (lub) {
     
    109117void bitmap_clear_range(bitmap_t *bitmap, index_t start, count_t bits)
    110118{
    111         index_t i;
     119        index_t i=0;
    112120        index_t aligned_start;
    113121        count_t lub;            /* leading unaligned bits */
     
    121129        amb = bits > lub ? bits - lub : 0;
    122130        tab = amb % 8;
     131
     132        if ( start + bits < aligned_start )
     133        {
     134            /*
     135            * Set bits in the middle of byte
     136            */
     137            bitmap->map[start / 8] &= ~(((1 << lub)-1) << (start&7));
     138            return;
     139        }
     140
    123141
    124142        if (lub) {
Note: See TracChangeset for help on using the changeset viewer.