snmpc fails to compile BITS with "holes"
Per Hedeland
per@REDACTED
Mon Apr 19 16:12:04 CEST 2010
E.g. DOCS-CABLE-DEVICE-MIB:
docsDevEvReporting OBJECT-TYPE
SYNTAX BITS {
local(0),
traps(1),
syslog(2),
-- The following are extensions to the original set of
-- labels. The extensions start at an octet boundary.
-- So for bits 3 - 7, one MUST set them to zero on send
-- and one MUST ignore them on receipt.
localVolatile(8),
stdInterface(9)
}
results in
DOCS-CABLE-DEVICE-MIB.mib: 1192: Error: Expected kibble no 3 but got 8.
Trivial fix below (sorry, still no git).
--Per Hedeland
--- otp_src_R13B04/lib/snmp/src/compile/snmpc_lib.erl.orig 2009-11-20 09:48:28.000000000 +0100
+++ otp_src_R13B04/lib/snmp/src/compile/snmpc_lib.erl 2010-04-19 16:07:07.000000000 +0200
@@ -125,7 +125,8 @@
test_kibbles2([],_,_) ->
ok;
-test_kibbles2([{_KibbleName,BitNo}|Ks],BitNo,Line) ->
+test_kibbles2([{_KibbleName,BitNo}|Ks],ExpectBitNo,Line)
+ when BitNo >= ExpectBitNo ->
test_kibbles2(Ks,BitNo+1,Line);
test_kibbles2([{_KibbleName,BitNo}|_Ks],ExpectBitNo,Line) ->
print_error("Expected kibble no ~p but got ~p.",[ExpectBitNo,BitNo],Line).
More information about the erlang-patches
mailing list