Index: ext/libicpf/src/conv.cpp
===================================================================
diff -u -r7e9a010922bf3325f4b1376bb166736540301dd8 -r338a33bbdb8c82416f0351408eea3243520784e5
--- ext/libicpf/src/conv.cpp	(.../conv.cpp)	(revision 7e9a010922bf3325f4b1376bb166736540301dd8)
+++ ext/libicpf/src/conv.cpp	(.../conv.cpp)	(revision 338a33bbdb8c82416f0351408eea3243520784e5)
@@ -24,7 +24,7 @@
 
 char_t __hex[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
 
-LIBICPF_API void bin2hex(uchar_t* pbyIn, uint_t tInCount, char_t *pszOut)
+LIBICPF_API void bin2hex(const uchar_t* pbyIn, uint_t tInCount, char_t *pszOut)
 {
 	for (uint_t i=0;i<tInCount;i++)
 	{
@@ -41,21 +41,21 @@
 
 	// make sure the tInCount is even
 	tInCount &= ~((size_t)1);
-	uchar_t by;
+	byte_t by;
 	for (size_t i=0;i<tInCount;i+=2)
 	{
 		// msb 4 bits
 		if (*pszIn >= '0' && *pszIn <= '9')
-			by=(*pszIn - '0') << 4;
+			by=(byte_t)(*pszIn - '0') << 4;
 		else if (*pszIn >= 'a' && *pszIn <= 'f')
-			by=(*pszIn - 'a' + 10) << 4;
+			by=(byte_t)(*pszIn - 'a' + 10) << 4;
 		else if (*pszIn >= 'A' && *pszIn <= 'F')
-			by=(*pszIn - 'A' + 10) << 4;
+			by=(byte_t)(*pszIn - 'A' + 10) << 4;
 		else
 			return false;
 
 		// lsb 4bits
-		*pszIn++;
+		pszIn++;
 		if (*pszIn >= '0' && *pszIn <= '9')
 			by|=(*pszIn - '0');
 		else if (*pszIn >= 'a' && *pszIn <= 'f')
@@ -65,7 +65,7 @@
 		else
 			return false;
 
-		*pszIn++;
+		pszIn++;
 		*pbyOut++=by;
 	}