remove MSVC warnings
diff --git a/skeletons/INTEGER.c b/skeletons/INTEGER.c
index 3a548e6..a51dd11 100644
--- a/skeletons/INTEGER.c
+++ b/skeletons/INTEGER.c
@@ -384,7 +384,7 @@
 			case ST_HEXDIGIT2:
 				value += (lv - 0x30);
 				state = ST_HEXCOLON;
-				st->buf[st->size++] = value;
+				st->buf[st->size++] = (uint8_t)value;
 				continue;
 			case ST_HEXCOLON:
 				return XPBD_BROKEN_ENCODING;
@@ -467,7 +467,7 @@
 			case ST_HEXDIGIT2:
 				value += lv - ((lv < 0x61) ? 0x41 : 0x61);
 				value += 10;
-				st->buf[st->size++] = value;
+				st->buf[st->size++] = (uint8_t)value;
 				state = ST_HEXCOLON;
 				continue;
 			case ST_DIGITS:
@@ -843,7 +843,7 @@
 	end = buf + (sizeof(value) + 1);
 	buf[0] = 0;
 	for(b = buf, shr = (sizeof(long)-1)*8; b < end; shr -= 8)
-		*(++b) = value >> shr;
+		*(++b) = (uint8_t)(value >> shr);
 
 	if(st->buf) FREEMEM(st->buf);
 	st->buf = buf;