[PATCH 2/4] Fix error introduced in a15f05f1b43d8e85d9a3f72a0a

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/OpenBSC@lists.osmocom.org/.

suraev at alumni.ntnu.no suraev at alumni.ntnu.no
Thu Jan 28 11:28:29 UTC 2016


From: Max <msuraev at sysmocom.de>

The code in bitvec_*_field was incorrectly ported from C++.
This also affected bitvec_unhex which uses it.
---
 src/bitvec.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/bitvec.c b/src/bitvec.c
index 7254674..407dfc8 100644
--- a/src/bitvec.c
+++ b/src/bitvec.c
@@ -389,6 +389,7 @@ int bitvec_unhex(struct bitvec *bv, const char *src)
 			return 1;
 
 		bitvec_write_field(bv, write_index, val, 4);
+		write_index += 4;
 	}
 	return 0;
 }
@@ -407,7 +408,7 @@ uint64_t bitvec_read_field(struct bitvec *bv, unsigned int read_index, unsigned
 			ui |= ((uint64_t)1 << (len - i - 1));
 		bv->cur_bit++;
 	}
-	read_index += len;
+
 	return ui;
 }
 
@@ -425,8 +426,8 @@ int bitvec_write_field(struct bitvec *bv, unsigned int write_index, uint64_t val
 		if (rc)
 			return rc;
 	}
-	write_index += len;
-	return 0;
+
+	return write_index + len;
 }
 
 /*! @} */
-- 
2.5.0




More information about the OpenBSC mailing list