]> git.stg.codes - ssmd.git/blobdiff - src/snmptable.cpp
Ommit "too big" error
[ssmd.git] / src / snmptable.cpp
index 5937270e23defc60d9adb4f2da33f14acb05e8f0..e729b058ca4c65d2a3e7e11ef3b752c1c9fbf10f 100644 (file)
@@ -11,7 +11,11 @@ SNMPTable::SNMPTable(Snmp & snmp,
     Vb vb(oid);
     Pdu pdu(&vb, 1);
     while (true) {
-        if (int c = snmp.get_next(pdu, target) != SNMP_CLASS_SUCCESS) {
+        int c = snmp.get_next(pdu, target);
+        for (size_t i = 0; i < 3 && c != SNMP_CLASS_SUCCESS; ++i) {
+            c = snmp.get_next(pdu, target);
+        }
+        if (c != SNMP_CLASS_SUCCESS) {
             logger << "SNMPTable::SNMPTable() - failed to invoke Snmp::get_next (oid: '" << oid.get_printable() << "'). Error message: '" << Snmp::error_msg(c) << "'" << std::endl;
             return;
         }