break;
 
                case 'e':       /* enumerated */
-               case 'i':       /* int */
+               case 'i':       /* integer */
                        i = va_arg( ap, ber_int_t * );
                        rc = ber_get_int( ber, i );
                        break;
 
                case 'b':       /* boolean */
                case 'e':       /* enumerated */
-               case 'i':       /* int */
-                       (void) va_arg( ap, int * );
+               case 'i':       /* integer */
+                       (void) va_arg( ap, ber_int_t * );
                        break;
 
                case 'l':       /* length of next item */
 
                case 'B':       /* bit string */
                case 'X':       /* bit string (deprecated) */
                        s = va_arg( ap, char * );
-                       len = va_arg( ap, int );        /* in bits */
+                       len = va_arg( ap, ber_len_t );  /* in bits */
                        rc = ber_put_bitstring( ber, s, len, ber->ber_tag );
                        break;