enforsed compilation with -W -Werror


git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@10 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/skeletons/OBJECT_IDENTIFIER.c b/skeletons/OBJECT_IDENTIFIER.c
index bcbcdca..0a27c8c 100644
--- a/skeletons/OBJECT_IDENTIFIER.c
+++ b/skeletons/OBJECT_IDENTIFIER.c
@@ -24,7 +24,8 @@
 	sizeof(asn1_DEF_OBJECT_IDENTIFIER_tags)
 	    / sizeof(asn1_DEF_OBJECT_IDENTIFIER_tags[0]),
 	1,	/* Single UNIVERSAL tag may be implicitly overriden */
-	0	/* Always in primitive form */
+	0,	/* Always in primitive form */
+	0	/* No specifics */
 };
 
 
@@ -94,8 +95,8 @@
 	unsigned long accum;
 	uint8_t *arcend = arcbuf + arclen;
 
-	if(arclen * 7 > 8 * sizeof(accum)) {
-		if(arclen * 7 <= 8 * (sizeof(accum) + 1)) {
+	if((size_t)arclen * 7 > 8 * sizeof(accum)) {
+		if((size_t)arclen * 7 <= 8 * (sizeof(accum) + 1)) {
 			if((*arcbuf & ~0x8f)) {
 				errno = ERANGE;	/* Overflow */
 				return -1;
@@ -110,8 +111,8 @@
 	for(accum = 0; arcbuf < arcend; arcbuf++)
 		accum = (accum << 7) | (*arcbuf & ~0x80);
 
+	assert(accum >= (unsigned long)-add);
 	accum += add;	/* Actually, a negative value */
-	assert(accum >= 0);
 
 	*rvalue = accum;
 
@@ -144,6 +145,9 @@
 	int add = 0;
 	int i;
 
+	(void)td;	/* Unused argument */
+	(void)ilevel;	/* Unused argument */
+
 	if(!st || !st->buf)
 		return cb("<absent>", 8, app_key);