Tue 05 May 2015 10:32:29 AM UTC, original submission:
Compiling the minimal project from the Unix port fails with the
following (slightly edited) error message:
lwip-contrib/apps/snmp_private_mib/lwip_prvmib.c:191:1:
error: initialization from incompatible pointer type
(near initialization for ‘sensortable.nptr’) [-Werror]
This same error is repeated on lines 207 (near initialization for
‘example.nptr’), 221 (lwip.nptr), 235 (enterprises.nptr) and 249
(mib_private.nptr) of the same file. And again in
lwip/src/core/snmp/mib2.c, line 751, near initialization for
‘internet.nptr’.
These errors come from missing const qualifiers: in
lwip/src/include/lwip/snmp_structs.h:141, the last field of
struct mib_array_node is defined as
const struct mib_node* const *nptr;
whereas in the incriminated files, the field is initialized with arrays
like
static struct mib_node* const sensortable_nodes[1]
Adding the missing consts fixes these errors. This is implemented in the
attached patches:
- 0001-Missing-const-qualifier-on-various-mib_node-arrays.patch
for lwip-contrib (file apps/snmp_private_mib/lwip_prvmib.c)
- 0002-Missing-const-qualifier-on-internet_nodes-in-mib2.c.patch
for lwip (src/core/snmp/mib2.c).
PS: I could not find an appropriate category, which should be "SNMP".
This affects both lwip and contrib code.
|