case '{': /* begin sequence */
case '[': /* begin set */
- if ( *(fmt + 1) != 'v' && *(fmt + 1) != 'V' )
+ if ( *(fmt + 1) != 'v' && *(fmt + 1) != 'V'
+ && *(fmt + 1) != 'W' )
rc = ber_skip_tag( ber, &len );
break;
}
break;
+ case 'W': /* BVarray */
+ if ( (bv = va_arg( ap, BVarray )) == NULL )
+ break;
+ for ( i = 0; bv[i].bv_val != NULL; i++ ) {
+ if ( (rc = ber_put_berval( ber, &bv[i],
+ ber->ber_tag )) == -1 )
+ break;
+ }
+ break;
+
case '{': /* begin sequence */
rc = ber_start_seq( ber, ber->ber_tag );
break;