utils: Fix -Wsign-compare warnings

Change-Id: I8b1118ca519b0a419a42eab8b7d4ba9e26a0bab5
diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h
index 1fdb0eb..327aa3d 100644
--- a/include/osmocom/core/utils.h
+++ b/include/osmocom/core/utils.h
@@ -40,7 +40,7 @@
 
 /*! A mapping between human-readable string and numeric value */
 struct value_string {
-	int value;		/*!< numeric value */
+	uint32_t value;		/*!< numeric value */
 	const char *str;	/*!< human-readable string */
 };
 
@@ -57,7 +57,7 @@
 int osmo_bcd2str(char *dst, size_t dst_size, const uint8_t *bcd, int start_nibble, int end_nibble, bool allow_hex);
 int osmo_str2bcd(uint8_t *dst, size_t dst_size, const char *digits, int start_nibble, int end_nibble, bool allow_hex);
 
-int osmo_hexparse(const char *str, uint8_t *b, int max_len);
+int osmo_hexparse(const char *str, uint8_t *b, unsigned int max_len);
 
 char *osmo_ubit_dump_buf(char *buf, size_t buf_len, const uint8_t *bits, unsigned int len);
 char *osmo_ubit_dump(const uint8_t *bits, unsigned int len);
@@ -323,7 +323,7 @@
 	_needed = FUNC_BUF(_str, _len, ## FUNC_BUF_ARGS); \
 	if (_needed < 0) \
 		goto OSMO_NAME_C_on_error; \
-	if (_needed < _len) \
+	if ((unsigned int) _needed < _len) \
 		return _str; \
 	_len = _needed + 1; \
 	if (_str) \
diff --git a/src/utils.c b/src/utils.c
index bec4b75..357ed53 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -202,7 +202,7 @@
 		if (end_nibble & 1)
 			end_nibble++;
 	}
-	if ((end_nibble / 2) > dst_size)
+	if ((unsigned int) (end_nibble / 2) > dst_size)
 		return -ENOMEM;
 
 	for (nibble_i = start_nibble; nibble_i < end_nibble; nibble_i++) {
@@ -237,7 +237,7 @@
  *  \param[in] max_len maximum space in output buffer
  *  \returns number of parsed octets, or -1 on error
  */
-int osmo_hexparse(const char *str, uint8_t *b, int max_len)
+int osmo_hexparse(const char *str, uint8_t *b, unsigned int max_len)
 
 {
 	char c;
@@ -312,7 +312,7 @@
 	for (i = 0; i < len; i++) {
 		const char *delimp = delim;
 		int len_remain = out_buf_size - (cur - out_buf) - 1;
-		if (len_remain < (2 + delim_len)
+		if (len_remain < (int) (2 + delim_len)
 		    && !(!delim_after_last && i == (len - 1) && len_remain >= 2))
 			break;
 
@@ -340,7 +340,7 @@
  */
 char *osmo_ubit_dump_buf(char *buf, size_t buf_len, const uint8_t *bits, unsigned int len)
 {
-	int i;
+	unsigned int i;
 
 	if (len > buf_len-1)
 		len = buf_len-1;
@@ -1222,7 +1222,7 @@
 	int64_t precision_factor;
 	int64_t integer_max;
 	int64_t decimal_max;
-	int i;
+	unsigned int i;
 
 	OSMO_ASSERT(val);
 	*val = 0;