50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'lib/netsnmp/varbind.rb', line 50
def convert_val(asn_value)
case asn_value
when OpenSSL::ASN1::OctetString
val = asn_value.value
is_hex_string = val.each_char.any? { |c| !c.match?(/[[:print:]]/) && !c.match?(/[[:space:]]/) }
val = HexString.new(val) if is_hex_string
val
when OpenSSL::ASN1::Primitive
val = asn_value.value
val = val.to_i if val.is_a?(OpenSSL::BN)
val
when OpenSSL::ASN1::ASN1Data
convert_application_asn(asn_value)
else
asn_value end
end
|