diff options
| author | Pablo Neira Ayuso <pablo@gnumonks.org> | 2011-03-28 19:24:19 +0200 | 
|---|---|---|
| committer | Harald Welte <laforge@gnumonks.org> | 2011-03-28 20:00:45 +0200 | 
| commit | 36bdf2cb73a82548cc1a6a9e332a4e646a5868b2 (patch) | |
| tree | 3c4836cb51f163b4c58e3f6d2f33fd8470a8248b | |
| parent | d6643d5fcf627d64cc3d7c385ba1cdd3981a8663 (diff) | |
bitvec: add bitvec_find_first_bit_pos() from gsm/rxlev_stat.c
This patch adds bitvec_find_bit_pos() to bitvec.c where it really
belongs to. Before this patch used to be part of gsm/rxlev_stat.c
| -rw-r--r-- | include/osmocom/core/bitvec.h | 2 | ||||
| -rw-r--r-- | src/bitvec.c | 14 | ||||
| -rw-r--r-- | src/gsm/rxlev_stat.c | 12 | 
3 files changed, 16 insertions, 12 deletions
diff --git a/include/osmocom/core/bitvec.h b/include/osmocom/core/bitvec.h index 42977fb2..bbe1641b 100644 --- a/include/osmocom/core/bitvec.h +++ b/include/osmocom/core/bitvec.h @@ -68,6 +68,8 @@ int bitvec_set_uint(struct bitvec *bv, unsigned int in, int count);  /* get multiple bits (based on numeric value) from current pos */  int bitvec_get_uint(struct bitvec *bv, int num_bits); +/* find the first bit set in bit vector */ +int bitvec_find_bit_pos(const struct bitvec *bv, unsigned int n, enum bit_value val);  /* Pad the bit vector up to a certain bit position */  int bitvec_spare_padding(struct bitvec *bv, unsigned int up_to_bit); diff --git a/src/bitvec.c b/src/bitvec.c index 4984af22..4fd38349 100644 --- a/src/bitvec.c +++ b/src/bitvec.c @@ -217,3 +217,17 @@ int bitvec_spare_padding(struct bitvec *bv, unsigned int up_to_bit)  	return 0;  } + +/* find first bit set in bit vector */ +int bitvec_find_bit_pos(const struct bitvec *bv, unsigned int n, +			enum bit_value val) +{ +	unsigned int i; + +	for (i = n; i < bv->data_len*8; i++) { +		if (bitvec_get_bit_pos(bv, i) == val) +			return i; +	} + +	return -1; +} diff --git a/src/gsm/rxlev_stat.c b/src/gsm/rxlev_stat.c index 626aaffb..d226861e 100644 --- a/src/gsm/rxlev_stat.c +++ b/src/gsm/rxlev_stat.c @@ -30,18 +30,6 @@  #include <osmocom/core/bitvec.h>  #include <osmocom/gsm/rxlev_stat.h> -int bitvec_find_bit_pos(const struct bitvec *bv, unsigned int n, enum bit_value val) -{ -	unsigned int i; - -	for (i = n; i < bv->data_len*8; i++) { -		if (bitvec_get_bit_pos(bv, i) == val) -			return i; -	} - -	return -1; -} -  void rxlev_stat_input(struct rxlev_stats *st, uint16_t arfcn, uint8_t rxlev)  {  	struct bitvec bv;  | 
