]> git.stg.codes - ssmd.git/blobdiff - src/snmptable.cpp
Fix build on osx.
[ssmd.git] / src / snmptable.cpp
index 5937270e23defc60d9adb4f2da33f14acb05e8f0..d9f8ae6ea682ee78bd19c0e971eefd0337b131a0 100644 (file)
@@ -1,7 +1,7 @@
 #include "snmptable.h"
 #include "logger.h"
 
-using GTS::SNMPTable;
+using SSMD::SNMPTable;
 
 SNMPTable::SNMPTable(Snmp & snmp,
                      const CTarget & target,
@@ -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;
         }