Explorar o código

Use netsnmp_init_mib() when present

When netsnmp_init_mib() doesn't exist, init_mib() is used.  This retains
backwards compatibility.

Fixes SourceForge #3497516
Richard Laager %!s(int64=13) %!d(string=hai) anos
pai
achega
ed9180b949
Modificáronse 2 ficheiros con 10 adicións e 0 borrados
  1. 6 0
      configure.in
  2. 4 0
      src/docsis.c

+ 6 - 0
configure.in

@@ -89,6 +89,12 @@ AC_SUBST(NETSNMP_CFLAGS)
 AC_SUBST(NETSNMP_RPATH)
 AC_SUBST(NETSNMP_PREFIX)
 
+AC_COMPILE_IFELSE(
+  [AC_LANG_PROGRAM([[#include <net-snmp/net-snmp-config.h>
+                     #include <net-snmp/net-snmp-includes.h>]],
+                   [[netsnmp_init_mib();]])],
+  [AC_DEFINE_UNQUOTED(HAVE_NETSNMP_INIT_MIB, 1, [Defines if your net-snmp has the netsnmp_init_mib function])])
+
 dnl end libnetsnmp check 
 
 dnl check for Cygwin & NSIS to build docsis_setup.exe 

+ 4 - 0
src/docsis.c

@@ -397,7 +397,11 @@ setup_mib_flags() {
 #endif /* DEBUG  */
 
   setenv ("MIBS", "ALL", 1);
+#ifdef HAVE_NETSNMP_INIT_MIB
+  netsnmp_init_mib ();
+#else
   init_mib ();
+#endif
   if (!netsnmp_ds_get_boolean
       (NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_PRINT_NUMERIC_OIDS))
     {