Avoid that gcc 8 complains about incompatible function casts. This
patch does not change any functionality.
---
 .../if-mib/ifXTable/ifXTable_interface.c      | 21 +++++++--------
 .../snmpNotifyFilterTable_interface.c         | 26 ++++++++-----------
 .../udp-mib/data_access/udp_endpoint_common.c |  9 ++++---
 python/netsnmp/client_intf.c                  |  2 +-
 snmplib/cert_util.c                           | 17 ++++++------
 snmplib/container_iterator.c                  | 11 +++++---
 6 files changed, 43 insertions(+), 43 deletions(-)

diff --git a/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c 
b/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c
index e561842ee77a..54163b05936d 100644
--- a/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c
+++ b/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c
@@ -1799,8 +1799,7 @@ static int      _ifXTable_container_save_rows(int 
majorID, int minorID,
                                               void *clientarg);
 static void     _ifXTable_container_row_restore(const char *token,
                                                 char *buf);
-static int      _ifXTable_container_row_save(ifXTable_rowreq_ctx *
-                                             rowreq_ctx, void *type);
+static void     _ifXTable_container_row_save(void *data, void *type);
 static char    *_ifXTable_container_col_restore(ifXTable_rowreq_ctx *
                                                 rowreq_ctx, u_int col,
                                                 char *buf);
@@ -1856,7 +1855,6 @@ _ifXTable_container_save_rows(int majorID, int minorID, 
void *serverarg,
      * save all rows
      */
     CONTAINER_FOR_EACH(*(netsnmp_container **)clientarg,
-                       (netsnmp_container_obj_func *)
                        _ifXTable_container_row_save, type);
 
     read_config_store((char *) type, sep);
@@ -1873,9 +1871,10 @@ _ifXTable_container_save_rows(int majorID, int minorID, 
void *serverarg,
 /************************************************************
  * _ifXTable_container_row_save
  */
-static int
-_ifXTable_container_row_save(ifXTable_rowreq_ctx * rowreq_ctx, void *type)
+static void _ifXTable_container_row_save(void *data, void *type)
 {
+    ifXTable_rowreq_ctx *rowreq_ctx = data;
+
     /*
      * Allocate space for a line with all data for a row. An
      * attempt is made to come up with a default maximum size, but
@@ -1918,7 +1917,7 @@ _ifXTable_container_row_save(ifXTable_rowreq_ctx * 
rowreq_ctx, void *type)
     int             i;
 
     if (ifXTable_container_should_save(rowreq_ctx) == 0) {
-        return SNMP_ERR_NOERROR;
+        return;
     }
 
     /*
@@ -1930,13 +1929,13 @@ _ifXTable_container_row_save(ifXTable_rowreq_ctx * 
rowreq_ctx, void *type)
     if (NULL == pos) {
         snmp_log(LOG_ERR, "error saving ifXTable row "
                  "to persistent file\n");
-        return SNMP_ERR_GENERR;
+        return;
     }
     *pos++ = ' ';
     if (pos > max) {
         snmp_log(LOG_ERR, "error saving ifXTable row "
                  "to persistent file (too long)\n");
-        return SNMP_ERR_GENERR;
+        return;
     }
 
     /*
@@ -1956,7 +1955,7 @@ _ifXTable_container_row_save(ifXTable_rowreq_ctx * 
rowreq_ctx, void *type)
         if (pos > max) {
             snmp_log(LOG_ERR, "error saving ifXTable row "
                      "to persistent file (too long)\n");
-            return SNMP_ERR_GENERR;
+            return;
         }
     }
 
@@ -1972,14 +1971,12 @@ _ifXTable_container_row_save(ifXTable_rowreq_ctx * 
rowreq_ctx, void *type)
     if (pos > max) {
         snmp_log(LOG_ERR, "error saving ifXTable row "
                  "to persistent file (too long)\n");
-        return SNMP_ERR_GENERR;
+        return;
     }
     read_config_store((char *) type, buf);
 
     DEBUGMSGTL(("internal:ifXTable:_ifXTable_container_row_save",
                 "saving line '%s'\n", buf));
-
-    return SNMP_ERR_NOERROR;
 }
 
 static void
diff --git 
a/agent/mibgroup/snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_interface.c
 
b/agent/mibgroup/snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_interface.c
index 81cb544fa790..88caf910e3db 100644
--- 
a/agent/mibgroup/snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_interface.c
+++ 
b/agent/mibgroup/snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_interface.c
@@ -1956,9 +1956,7 @@ static int      
_snmpNotifyFilterTable_container_save_rows(int majorID,
 static void     _snmpNotifyFilterTable_container_row_restore(const char
                                                              *token,
                                                              char *buf);
-static int
-                
_snmpNotifyFilterTable_container_row_save(snmpNotifyFilterTable_rowreq_ctx
-                                                          * rowreq_ctx,
+static void     _snmpNotifyFilterTable_container_row_save(void *data,
                                                           void *type);
 static char
  
@@ -2051,8 +2049,7 @@ _snmpNotifyFilterTable_container_save_rows(int majorID, 
int minorID,
     /*
      * save all rows
      */
-    CONTAINER_FOR_EACH(c, (netsnmp_container_obj_func *)
-                       _snmpNotifyFilterTable_container_row_save, type);
+    CONTAINER_FOR_EACH(c, _snmpNotifyFilterTable_container_row_save, type);
 
     read_config_store((char *) type, sep);
     read_config_store((char *) type, "\n");
@@ -2068,10 +2065,11 @@ _snmpNotifyFilterTable_container_save_rows(int majorID, 
int minorID,
 /************************************************************
  * _snmpNotifyFilterTable_container_row_save
  */
-static int
-_snmpNotifyFilterTable_container_row_save(snmpNotifyFilterTable_rowreq_ctx
-                                          * rowreq_ctx, void *type)
+static void
+_snmpNotifyFilterTable_container_row_save(void *data, void *type)
 {
+    snmpNotifyFilterTable_rowreq_ctx *rowreq_ctx = data;
+
     /*
      * Allocate space for a line with all data for a row. An
      * attempt is made to come up with a default maximum size, but
@@ -2117,7 +2115,7 @@ 
_snmpNotifyFilterTable_container_row_save(snmpNotifyFilterTable_rowreq_ctx
     int             i;
 
     if (snmpNotifyFilterTable_container_should_save(rowreq_ctx) == 0) {
-        return SNMP_ERR_NOERROR;
+        return;
     }
 
     /*
@@ -2129,13 +2127,13 @@ 
_snmpNotifyFilterTable_container_row_save(snmpNotifyFilterTable_rowreq_ctx
     if (NULL == pos) {
         snmp_log(LOG_ERR, "error saving snmpNotifyFilterTable row "
                  "to persistent file\n");
-        return SNMP_ERR_GENERR;
+        return;
     }
     *pos++ = ' ';
     if (pos > max) {
         snmp_log(LOG_ERR, "error saving snmpNotifyFilterTable row "
                  "to persistent file (too long)\n");
-        return SNMP_ERR_GENERR;
+        return;
     }
 
     /*
@@ -2157,7 +2155,7 @@ 
_snmpNotifyFilterTable_container_row_save(snmpNotifyFilterTable_rowreq_ctx
         if (pos > max) {
             snmp_log(LOG_ERR, "error saving snmpNotifyFilterTable row "
                      "to persistent file (too long)\n");
-            return SNMP_ERR_GENERR;
+            return;
         }
     }
 
@@ -2173,13 +2171,11 @@ 
_snmpNotifyFilterTable_container_row_save(snmpNotifyFilterTable_rowreq_ctx
     if (pos > max) {
         snmp_log(LOG_ERR, "error saving snmpNotifyFilterTable row "
                  "to persistent file (too long)\n");
-        return SNMP_ERR_GENERR;
+        return;
     }
     read_config_store((char *) type, buf);
 
     
DEBUGMSGTL(("internal:snmpNotifyFilterTable:_snmpNotifyFilterTable_container_row_save",
 "saving line '%s'\n", buf));
-
-    return SNMP_ERR_NOERROR;
 }
 
 static void
diff --git a/agent/mibgroup/udp-mib/data_access/udp_endpoint_common.c 
b/agent/mibgroup/udp-mib/data_access/udp_endpoint_common.c
index 63f85494f64e..a97f3da02dda 100644
--- a/agent/mibgroup/udp-mib/data_access/udp_endpoint_common.c
+++ b/agent/mibgroup/udp-mib/data_access/udp_endpoint_common.c
@@ -88,6 +88,11 @@ 
netsnmp_access_udp_endpoint_container_load(netsnmp_container* container,
     return container;
 }
 
+static void _netsnmp_access_udp_endpoint_entry_free(void *data, void *context)
+{
+    netsnmp_access_udp_endpoint_entry_free(data);
+}
+
 void
 netsnmp_access_udp_endpoint_container_free(netsnmp_container *container,
                                            u_int free_flags)
@@ -104,9 +109,7 @@ 
netsnmp_access_udp_endpoint_container_free(netsnmp_container *container,
         /*
          * free all items.
          */
-        CONTAINER_CLEAR(container,
-                        (netsnmp_container_obj_func*)
-                        netsnmp_access_udp_endpoint_entry_free,
+        CONTAINER_CLEAR(container, _netsnmp_access_udp_endpoint_entry_free,
                         NULL);
     }
 
diff --git a/python/netsnmp/client_intf.c b/python/netsnmp/client_intf.c
index db3180b888db..5a131808c641 100644
--- a/python/netsnmp/client_intf.c
+++ b/python/netsnmp/client_intf.c
@@ -2331,7 +2331,7 @@ netsnmp_set(PyObject *self, PyObject *args)
 #ifndef NETSNMP_NO_WRITE_SUPPORT
   PyObject *session;
   PyObject *varlist;
-  PyObject *varbind;
+  PyObject *varbind = NULL;
   netsnmp_session *ss;
   netsnmp_pdu *pdu, *response;
   struct tree *tp;
diff --git a/snmplib/cert_util.c b/snmplib/cert_util.c
index ad79e37f5a56..0f0b7e4271ec 100644
--- a/snmplib/cert_util.c
+++ b/snmplib/cert_util.c
@@ -148,7 +148,7 @@ void netsnmp_key_free(netsnmp_key *key);
 
 static int _certindex_add( const char *dirname, int i );
 
-static int _time_filter(netsnmp_file *f, struct stat *idx);
+static int _time_filter(const void *text, void *ctx);
 
 static void _init_tlstmCertToTSN(void);
 #define TRUSTCERT_CONFIG_TOKEN "trustCert"
@@ -704,9 +704,9 @@ _type_from_filename(const char *filename)
 /*
  * filter functions; return 1 to include file, 0 to exclude
  */
-static int
-_cert_cert_filter(const char *filename)
+static int _cert_cert_filter(const void *text, void *ctx)
 {
+    const char *filename = text;
     int  len = strlen(filename);
     const char *pos;
 
@@ -1383,8 +1383,7 @@ _cert_read_index(const char *dirname, struct stat 
*dirstat)
      */
     newer =
         netsnmp_directory_container_read_some(NULL, dirname,
-                                              (netsnmp_directory_filter*)
-                                              _time_filter,(void*)&idx_stat,
+                                              _time_filter, &idx_stat,
                                               NETSNMP_DIR_NSFILE |
                                               NETSNMP_DIR_NSFILE_STATS);
     if (newer) {
@@ -1546,8 +1545,7 @@ _add_certdir(const char *dirname)
      */
     cert_container =
         netsnmp_directory_container_read_some(NULL, dirname,
-                                              (netsnmp_directory_filter*)
-                                              &_cert_cert_filter, NULL,
+                                              _cert_cert_filter, NULL,
                                               NETSNMP_DIR_RELATIVE_PATH |
                                               NETSNMP_DIR_EMPTY_OK );
     if (NULL == cert_container) {
@@ -2396,8 +2394,11 @@ _key_find_fn(const char *filename)
 #endif
 
 static int
-_time_filter(netsnmp_file *f, struct stat *idx)
+_time_filter(const void *text, void *ctx)
 {
+    const netsnmp_file *f = text;
+    struct stat *idx = ctx;
+
     /** include if mtime or ctime newer than index mtime */
     if (f && idx && f->stats &&
         ((f->stats->st_mtime >= idx->st_mtime) ||
diff --git a/snmplib/container_iterator.c b/snmplib/container_iterator.c
index 41b14ffeaee8..2bdf773e8ab0 100644
--- a/snmplib/container_iterator.c
+++ b/snmplib/container_iterator.c
@@ -285,18 +285,21 @@ _iterator_get_next(iterator_info *ii, const void *key)
  * container
  *
  **********************************************************************/
-static void
-_iterator_free(iterator_info *ii)
+static int _iterator_free(netsnmp_container *c)
 {
+    iterator_info *ii = (iterator_info *)c;
+
     DEBUGMSGT(("container_iterator",">%s\n", "_iterator_free"));
     
     if(NULL == ii)
-        return;
+        return 0;
     
     if(ii->user_ctx)
         ii->free_user_ctx(ii->user_ctx,ii->user_ctx);
     
     free(ii);
+
+    return 0;
 }
 
 static void *
@@ -463,7 +466,7 @@ netsnmp_container_iterator_get(void *iterator_user_ctx,
     /*
      * init container structure with iterator functions
      */
-    ii->c.cfree = (netsnmp_container_rc*)_iterator_free;
+    ii->c.cfree = _iterator_free;
     ii->c.compare = compare;
     ii->c.get_size = (netsnmp_container_size*)_iterator_size;
     ii->c.init = NULL;
-- 
2.17.1


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Net-snmp-coders mailing list
Net-snmp-coders@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to