From 8c4d1909f4378b2cbeacb05208744a6d2def5464 Mon Sep 17 00:00:00 2001 From: Dirk Ziegelmeier Date: Mon, 11 Jan 2016 19:45:57 +0100 Subject: [PATCH] SNMP MIB Compiler: Deal with multiple OID assignments in a MIB file --- .../snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTree.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTree.cs b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTree.cs index f9be39ff..76101aa3 100644 --- a/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTree.cs +++ b/src/apps/snmp/LwipMibCompiler/SharpSnmpLib/Mib/MibTree.cs @@ -23,15 +23,14 @@ namespace Lextm.SharpSnmpLib.Mib if (mi != null) { - entities.Remove(element); _root.Add(new MibTreeNode(null, mi)); - break; } } // gather all items below ModuleIdentity foreach (MibTreeNode mibTreeNode in _root) { + entities.Remove (mibTreeNode.Entity); BuildTree(mibTreeNode, entities); UpdateTreeNodeTypes(mibTreeNode); } @@ -44,9 +43,7 @@ namespace Lextm.SharpSnmpLib.Mib if (oa != null) { - entities.Remove(element); _root.Add(new MibTreeNode(null, oa)); - break; } } @@ -54,11 +51,14 @@ namespace Lextm.SharpSnmpLib.Mib { //no module identity, assume first entity is root _root.Add(new MibTreeNode(null, entities[0])); - entities.RemoveAt(0); } foreach (MibTreeNode mibTreeNode in _root) { + if (entities.Contains (mibTreeNode.Entity)) + { + entities.Remove (mibTreeNode.Entity); + } BuildTree(mibTreeNode, entities); UpdateTreeNodeTypes(mibTreeNode); }