[PATCH 6/9] bitvector: Address compiler warnings about unsigned/signed

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-net-gprs@lists.osmocom.org/.

Holger Hans Peter Freyther hfreyther at sysmocom.de
Tue Jul 30 19:26:44 UTC 2013


From: Holger Hans Peter Freyther <holger at moiji-mobile.com>

Fixes:
bitvector.cpp: In function 'int bitvec_pack(bitvec*, uint8_t*)':
bitvector.cpp:53:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
bitvector.cpp: In function 'int bitvec_unpack(bitvec*, uint8_t*)':
bitvector.cpp:63:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
bitvector.cpp: In function 'uint64_t bitvec_read_field(bitvec*, unsigned int&, unsigned int)':
bitvector.cpp:91:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
bitvector.cpp: In function 'int bitvec_write_field(bitvec*, unsigned int&, uint64_t, unsigned int)':
bitvector.cpp:108:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
---
 src/bitvector.cpp | 13 +++++++------
 src/bitvector.h   |  4 ++--
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/bitvector.cpp b/src/bitvector.cpp
index 36ef798..43feebc 100644
--- a/src/bitvector.cpp
+++ b/src/bitvector.cpp
@@ -47,9 +47,9 @@ void bitvec_free(struct bitvec *bv)
 	talloc_free(bv);
 }
 
-int bitvec_pack(struct bitvec *bv, uint8_t *buffer)
+unsigned int bitvec_pack(struct bitvec *bv, uint8_t *buffer)
 {
-	int i = 0;
+	unsigned int i = 0;
 	for (i = 0; i < bv->data_len; i++)
 	{
 		buffer[i] = bv->data[i];
@@ -57,9 +57,9 @@ int bitvec_pack(struct bitvec *bv, uint8_t *buffer)
 	return i;
 }
 
-int bitvec_unpack(struct bitvec *bv, uint8_t *buffer)
+unsigned int bitvec_unpack(struct bitvec *bv, uint8_t *buffer)
 {
-	int i = 0;
+	unsigned int i = 0;
 	for (i = 0; i < bv->data_len; i++)
 	{
 		bv->data[i] = buffer[i];
@@ -84,7 +84,7 @@ int bitvec_unhex(struct bitvec *bv, const char* src)
 
 uint64_t bitvec_read_field(struct bitvec *bv, unsigned& read_index, unsigned len)
 {
-	int i;
+	unsigned int i;
 	uint64_t ui = 0;
 	bv->cur_bit = read_index;
 
@@ -103,7 +103,8 @@ uint64_t bitvec_read_field(struct bitvec *bv, unsigned& read_index, unsigned len
 
 int bitvec_write_field(struct bitvec *bv, unsigned& write_index, uint64_t val, unsigned len)
 {
-	int i, rc;
+	unsigned int i;
+	int rc;
 	bv->cur_bit = write_index;
 	for (i = 0; i < len; i++) {
 		int bit = 0;
diff --git a/src/bitvector.h b/src/bitvector.h
index 7409d55..36bdbab 100644
--- a/src/bitvector.h
+++ b/src/bitvector.h
@@ -35,8 +35,8 @@ extern "C" {
 struct bitvec *bitvec_alloc(unsigned size);
 void bitvec_free(struct bitvec *bv);
 int bitvec_unhex(struct bitvec *bv, const char* src);
-int bitvec_pack(struct bitvec *bv, uint8_t *buffer);
-int bitvec_unpack(struct bitvec *bv, uint8_t *buffer);
+unsigned int bitvec_pack(struct bitvec *bv, uint8_t *buffer);
+unsigned int bitvec_unpack(struct bitvec *bv, uint8_t *buffer);
 uint64_t bitvec_read_field(struct bitvec *bv, unsigned& read_index, unsigned len);
 int bitvec_write_field(struct bitvec *bv, unsigned& write_index, uint64_t val, unsigned len);
 
-- 
1.8.3.2





More information about the osmocom-net-gprs mailing list