// ParseRecursive sets the values retrieved from byte sequence in an IE.
ParseRecursive sets the values retrieved from byte sequence in an IE.
// ParseRecursive sets the values retrieved from byte sequence in an IE .
func (i *IE) ParseRecursive(b []byte) error {
	l := len(b)
	if l < 2 {
		return io.ErrUnexpectedEOF
	}
	i.Tag = Tag(b[0])
	i.Length = b[1]
	if int(i.Length)+2 > len(b) {
		return nil
	}
	i.Value = b[2 : 2+int(i.Length)]
	if i.Tag.Form() == 1 {
		x, err := ParseAsBER(i.Value)
		if err != nil {
			return nil
		}
		i.IE = append(i.IE, x...)
	}
	return nil
}
func ( i * IE ) ParseRecursive ( b [ ] byte ) error { l := len ( b ) if l < 2 { return io . ErrUnexpectedEOF } i . Tag = Tag ( b [ 0 ] ) i . Length = b [ 1 ] if int ( i . Length ) + 2 > len ( b ) { return nil } i . Value = b [ 2 : 2 + int ( i . Length ) ] if i . Tag . Form ( ) == 1 { x , err := ParseAsBER ( i . Value ) if err != nil { return nil } i . IE = append ( i . IE , x ... ) } return nil }
ParseRecursive sets the values retrieved from byte sequence in an IE.
ParseRecursive sets the values retrieved from byte sequence in an IE .