rand.c: In function 'rand_open':
rand.c:84:17: warning: ignoring return value of 'read' declared with attribute 'warn_unused_result' [-Wunused-result]
84 | read(fd, seed + sizeof(*tv), sizeof(seed) - sizeof(*tv));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/config.h:298:5: warning: type of 'strlcpy' does not match original declaration [-Wlto-type-mismatch]
298 | int strlcpy(char *, const char *, int);
| ^
strlcpy.c:43:1: note: return value type mismatch
43 | strlcpy(dst, src, siz)
| ^
strlcpy.c:43:1: note: type 'size_t' should match type 'int'
strlcpy.c:43:1: note: 'strlcpy' was previously declared here
strlcpy.c:43:1: note: code may be misoptimized unless '-fno-strict-aliasing' is used
./dnet.c: In function ‘__pyx_f_4dnet_3eth_get’:
./dnet.c:583:49: warning: pointer targets in passing argument 1 of ‘PyBytes_FromStringAndSize’ differ in signedness [-Wpointer-sign]
583 | __pyx_2 = PyBytes_FromStringAndSize(__pyx_v_ea.data,6); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;}
| ~~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
In file included from /usr/include/python3.8/Python.h:96,
from ./dnet.c:5:
/usr/include/python3.8/bytesobject.h:51:50: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
51 | PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
| ^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_3eth_set’:
./dnet.c:615:46: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
615 | __pyx_1 = __pyx_f_4dnet___memcpy(__pyx_v_ea.data,__pyx_v_value,6); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; goto __pyx_L1;}
| ~~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
./dnet.c:400:48: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
400 | static PyObject *__pyx_f_4dnet___memcpy(char (*__pyx_v_dst),PyObject *__pyx_v_src,int __pyx_v_n) {
| ~~~~~~~^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_3eth___dealloc__’:
./dnet.c:693:3: warning: label ‘__pyx_L1’ defined but not used [-Wunused-label]
693 | __pyx_L1:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_eth_ntoa’:
./dnet.c:711:46: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
711 | __pyx_1 = __pyx_f_4dnet___memcpy(__pyx_v_ea.data,__pyx_v_buf,6); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; goto __pyx_L1;}
| ~~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
./dnet.c:400:48: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
400 | static PyObject *__pyx_f_4dnet___memcpy(char (*__pyx_v_dst),PyObject *__pyx_v_src,int __pyx_v_n) {
| ~~~~~~~^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_eth_aton’:
./dnet.c:763:49: warning: pointer targets in passing argument 1 of ‘PyBytes_FromStringAndSize’ differ in signedness [-Wpointer-sign]
763 | __pyx_3 = PyBytes_FromStringAndSize(__pyx_v_ea.data,6); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; goto __pyx_L1;}
| ~~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
In file included from /usr/include/python3.8/Python.h:96,
from ./dnet.c:5:
/usr/include/python3.8/bytesobject.h:51:50: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
51 | PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
| ^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_eth_pack_hdr’:
./dnet.c:801:45: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
801 | __pyx_1 = __pyx_f_4dnet___memcpy(__pyx_v_s.data,__pyx_v_src,6); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L1;}
| ~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
./dnet.c:400:48: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
400 | static PyObject *__pyx_f_4dnet___memcpy(char (*__pyx_v_dst),PyObject *__pyx_v_src,int __pyx_v_n) {
| ~~~~~~~^~~~~~~~~~~~
./dnet.c:805:45: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
805 | __pyx_1 = __pyx_f_4dnet___memcpy(__pyx_v_d.data,__pyx_v_dst,6); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; goto __pyx_L1;}
| ~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
./dnet.c:400:48: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
400 | static PyObject *__pyx_f_4dnet___memcpy(char (*__pyx_v_dst),PyObject *__pyx_v_src,int __pyx_v_n) {
| ~~~~~~~^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_2ip___dealloc__’:
./dnet.c:918:3: warning: label ‘__pyx_L1’ defined but not used [-Wunused-label]
918 | __pyx_L1:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_ip_checksum’:
./dnet.c:1046:3: warning: ‘PyObject_AsReadBuffer’ is deprecated [-Wdeprecated-declarations]
1046 | __pyx_1 = (PyObject_AsReadBuffer(__pyx_v_pkt,(&__pyx_v_p),(&__pyx_v_n)) == 0);
| ^~~~~~~
In file included from /usr/include/python3.8/Python.h:147,
from ./dnet.c:5:
/usr/include/python3.8/abstract.h:337:17: note: declared here
337 | PyAPI_FUNC(int) PyObject_AsReadBuffer(PyObject *obj,
| ^~~~~~~~~~~~~~~~~~~~~
./dnet.c:1046:49: warning: passing argument 2 of ‘PyObject_AsReadBuffer’ from incompatible pointer type [-Wincompatible-pointer-types]
1046 | __pyx_1 = (PyObject_AsReadBuffer(__pyx_v_pkt,(&__pyx_v_p),(&__pyx_v_n)) == 0);
| ~^~~~~~~~~~~
| |
| char **
In file included from /usr/include/python3.8/Python.h:147,
from ./dnet.c:5:
/usr/include/python3.8/abstract.h:338:52: note: expected ‘const void **’ but argument is of type ‘char **’
338 | const void **buffer,
| ~~~~~~~~~~~~~^~~~~~
./dnet.c:1046:62: warning: passing argument 3 of ‘PyObject_AsReadBuffer’ from incompatible pointer type [-Wincompatible-pointer-types]
1046 | __pyx_1 = (PyObject_AsReadBuffer(__pyx_v_pkt,(&__pyx_v_p),(&__pyx_v_n)) == 0);
| ~^~~~~~~~~~~
| |
| int *
In file included from /usr/include/python3.8/Python.h:147,
from ./dnet.c:5:
/usr/include/python3.8/abstract.h:339:51: note: expected ‘Py_ssize_t *’ {aka ‘long int *’} but argument is of type ‘int *’
339 | Py_ssize_t *buffer_len);
| ~~~~~~~~~~~~^~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_ip_cksum_add’:
./dnet.c:1127:3: warning: ‘PyObject_AsReadBuffer’ is deprecated [-Wdeprecated-declarations]
1127 | __pyx_1 = (PyObject_AsReadBuffer(__pyx_v_buf,(&__pyx_v_p),(&__pyx_v_n)) == 0);
| ^~~~~~~
In file included from /usr/include/python3.8/Python.h:147,
from ./dnet.c:5:
/usr/include/python3.8/abstract.h:337:17: note: declared here
337 | PyAPI_FUNC(int) PyObject_AsReadBuffer(PyObject *obj,
| ^~~~~~~~~~~~~~~~~~~~~
./dnet.c:1127:49: warning: passing argument 2 of ‘PyObject_AsReadBuffer’ from incompatible pointer type [-Wincompatible-pointer-types]
1127 | __pyx_1 = (PyObject_AsReadBuffer(__pyx_v_buf,(&__pyx_v_p),(&__pyx_v_n)) == 0);
| ~^~~~~~~~~~~
| |
| char **
In file included from /usr/include/python3.8/Python.h:147,
from ./dnet.c:5:
/usr/include/python3.8/abstract.h:338:52: note: expected ‘const void **’ but argument is of type ‘char **’
338 | const void **buffer,
| ~~~~~~~~~~~~~^~~~~~
./dnet.c:1127:62: warning: passing argument 3 of ‘PyObject_AsReadBuffer’ from incompatible pointer type [-Wincompatible-pointer-types]
1127 | __pyx_1 = (PyObject_AsReadBuffer(__pyx_v_buf,(&__pyx_v_p),(&__pyx_v_n)) == 0);
| ~^~~~~~~~~~~
| |
| int *
In file included from /usr/include/python3.8/Python.h:147,
from ./dnet.c:5:
/usr/include/python3.8/abstract.h:339:51: note: expected ‘Py_ssize_t *’ {aka ‘long int *’} but argument is of type ‘int *’
339 | Py_ssize_t *buffer_len);
| ~~~~~~~~~~~~^~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4addr___init__’:
./dnet.c:1473:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
1473 | if (__pyx_1=PyObject_RichCompareBool(__pyx_v_addrtxt, Py_None, Py_EQ) == 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; goto __pyx_L1;}
| ^~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4addr_4data___get__’:
./dnet.c:1661:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
1661 | if (__pyx_3 = PyObject_RichCompareBool(__pyx_1, __pyx_2, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; goto __pyx_L1;}
| ^~~~~~~
./dnet.c:1676:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
1676 | if (__pyx_3=PyObject_RichCompareBool(__pyx_2, __pyx_1, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; goto __pyx_L1;}
| ^~~~~~~
./dnet.c:1691:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
1691 | if (__pyx_3=PyObject_RichCompareBool(__pyx_1, __pyx_2, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; goto __pyx_L1;}
| ^~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4addr_3eth___get__’:
./dnet.c:1741:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
1741 | if (__pyx_3 = PyObject_RichCompareBool(__pyx_1, __pyx_2,Py_EQ ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; goto __pyx_L1;}
| ^~~~~~~
In file included from ../include/dnet.h:17,
from ./dnet.c:24:
../include/dnet/addr.h:35:33: warning: pointer targets in passing argument 1 of ‘PyBytes_FromStringAndSize’ differ in signedness [-Wpointer-sign]
35 | #define addr_data8 __addr_u.__data8
./dnet.c:1757:92: note: in expansion of macro ‘addr_data8’
1757 | __pyx_2 = PyBytes_FromStringAndSize(((struct __pyx_obj_4dnet_addr *)__pyx_v_self)->_addr.addr_data8,6); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 486; goto __pyx_L1;}
| ^~~~~~~~~~
In file included from /usr/include/python3.8/Python.h:96,
from ./dnet.c:5:
/usr/include/python3.8/bytesobject.h:51:50: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
51 | PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
| ^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4addr_3eth___set__’:
./dnet.c:1791:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
1791 | if (__pyx_3=PyObject_RichCompareBool(__pyx_1, __pyx_2,Py_EQ ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; goto __pyx_L1;}
| ^~~~~~~
In file included from ../include/dnet.h:17,
from ./dnet.c:24:
../include/dnet/addr.h:35:33: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
35 | #define addr_data8 __addr_u.__data8
./dnet.c:1807:89: note: in expansion of macro ‘addr_data8’
1807 | __pyx_2 = __pyx_f_4dnet___memcpy(((struct __pyx_obj_4dnet_addr *)__pyx_v_self)->_addr.addr_data8,__pyx_v_value,6); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; goto __pyx_L1;}
| ^~~~~~~~~~
./dnet.c:400:48: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
400 | static PyObject *__pyx_f_4dnet___memcpy(char (*__pyx_v_dst),PyObject *__pyx_v_src,int __pyx_v_n) {
| ~~~~~~~^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4addr_2ip___get__’:
./dnet.c:1850:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
1850 | if (__pyx_3=PyObject_RichCompareBool(__pyx_1, __pyx_2, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; goto __pyx_L1;}
| ^~~~~~~
In file included from ../include/dnet.h:17,
from ./dnet.c:24:
../include/dnet/addr.h:35:33: warning: pointer targets in passing argument 1 of ‘PyBytes_FromStringAndSize’ differ in signedness [-Wpointer-sign]
35 | #define addr_data8 __addr_u.__data8
./dnet.c:1866:92: note: in expansion of macro ‘addr_data8’
1866 | __pyx_2 = PyBytes_FromStringAndSize(((struct __pyx_obj_4dnet_addr *)__pyx_v_self)->_addr.addr_data8,4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; goto __pyx_L1;}
| ^~~~~~~~~~
In file included from /usr/include/python3.8/Python.h:96,
from ./dnet.c:5:
/usr/include/python3.8/bytesobject.h:51:50: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
51 | PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
| ^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4addr_2ip___set__’:
./dnet.c:1914:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
1914 | if (__pyx_1 = PyObject_RichCompareBool(__pyx_2, __pyx_3, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; goto __pyx_L1;}
| ^~~~~~~
In file included from ../include/dnet.h:17,
from ./dnet.c:24:
../include/dnet/addr.h:35:33: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
35 | #define addr_data8 __addr_u.__data8
./dnet.c:1930:91: note: in expansion of macro ‘addr_data8’
1930 | __pyx_3 = __pyx_f_4dnet___memcpy(((struct __pyx_obj_4dnet_addr *)__pyx_v_self)->_addr.addr_data8,__pyx_v_value,4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; goto __pyx_L1;}
| ^~~~~~~~~~
./dnet.c:400:48: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
400 | static PyObject *__pyx_f_4dnet___memcpy(char (*__pyx_v_dst),PyObject *__pyx_v_src,int __pyx_v_n) {
| ~~~~~~~^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4addr_3ip6___get__’:
./dnet.c:1975:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
1975 | if (__pyx_3 = PyObject_RichCompareBool(__pyx_1, __pyx_2, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; goto __pyx_L1;}
| ^~~~~~~
In file included from ../include/dnet.h:17,
from ./dnet.c:24:
../include/dnet/addr.h:35:33: warning: pointer targets in passing argument 1 of ‘PyBytes_FromStringAndSize’ differ in signedness [-Wpointer-sign]
35 | #define addr_data8 __addr_u.__data8
./dnet.c:1991:92: note: in expansion of macro ‘addr_data8’
1991 | __pyx_2 = PyBytes_FromStringAndSize(((struct __pyx_obj_4dnet_addr *)__pyx_v_self)->_addr.addr_data8,16); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; goto __pyx_L1;}
| ^~~~~~~~~~
In file included from /usr/include/python3.8/Python.h:96,
from ./dnet.c:5:
/usr/include/python3.8/bytesobject.h:51:50: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
51 | PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
| ^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4addr_3ip6___set__’:
./dnet.c:2025:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
2025 | if (__pyx_3 = PyObject_RichCompareBool(__pyx_1, __pyx_2, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; goto __pyx_L1;}
| ^~~~~~~
In file included from ../include/dnet.h:17,
from ./dnet.c:24:
../include/dnet/addr.h:35:33: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
35 | #define addr_data8 __addr_u.__data8
./dnet.c:2041:89: note: in expansion of macro ‘addr_data8’
2041 | __pyx_2 = __pyx_f_4dnet___memcpy(((struct __pyx_obj_4dnet_addr *)__pyx_v_self)->_addr.addr_data8,__pyx_v_value,16); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; goto __pyx_L1;}
| ^~~~~~~~~~
./dnet.c:400:48: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
400 | static PyObject *__pyx_f_4dnet___memcpy(char (*__pyx_v_dst),PyObject *__pyx_v_src,int __pyx_v_n) {
| ~~~~~~~^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4addr___hash__’:
./dnet.c:2412:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
2412 | if (__pyx_3=PyObject_RichCompareBool(__pyx_1, __pyx_2, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; goto __pyx_L1;}
| ^~~~~~~
./dnet.c:2422:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
2422 | if (__pyx_3 = PyObject_RichCompareBool(__pyx_1, __pyx_2, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 579; goto __pyx_L1;}
| ^~~~~~~
./dnet.c:2432:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
2432 | if (__pyx_3=PyObject_RichCompareBool(__pyx_1, __pyx_2, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; goto __pyx_L1;}
| ^~~~~~~
./dnet.c:2466:3: warning: label ‘__pyx_L4’ defined but not used [-Wunused-label]
2466 | __pyx_L4:;
| ^~~~~~~~
./dnet.c:2464:5: warning: label ‘__pyx_L3’ defined but not used [-Wunused-label]
2464 | __pyx_L3:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4addr___int__’:
./dnet.c:2518:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
2518 | if (__pyx_3=PyObject_RichCompareBool(__pyx_1, __pyx_2, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; goto __pyx_L1;}
| ^~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4addr___iter__’:
./dnet.c:2598:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
2598 | if (__pyx_1 = PyObject_RichCompareBool(__pyx_2, __pyx_3,Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; goto __pyx_L1;}
| ^~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_3arp_loop’:
./dnet.c:3120:88: warning: passing argument 2 of ‘arp_loop’ from incompatible pointer type [-Wincompatible-pointer-types]
3120 | __pyx_1 = PyLong_FromLong(arp_loop(((struct __pyx_obj_4dnet_arp *)__pyx_v_self)->arp,__pyx_f_4dnet___arp_callback,((void (*))__pyx_v__arg))); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; goto __pyx_L1;}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int (*)(struct arp_entry *, void *)
In file included from ../include/dnet.h:18,
from ./dnet.c:24:
../include/dnet/arp.h:101:43: note: expected ‘arp_handler’ {aka ‘int (*)(const struct arp_entry *, void *)’} but argument is of type ‘int (*)(struct arp_entry *, void *)’
101 | int arp_loop(arp_t *arp, arp_handler callback, void *arg);
| ~~~~~~~~~~~~^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_3arp___dealloc__’:
./dnet.c:3213:3: warning: label ‘__pyx_L1’ defined but not used [-Wunused-label]
3213 | __pyx_L1:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_arp_pack_hdr_ethip’:
./dnet.c:3249:46: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
3249 | __pyx_1 = __pyx_f_4dnet___memcpy(__pyx_v_sh.data,__pyx_v_sha,6); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 775; goto __pyx_L1;}
| ~~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
./dnet.c:400:48: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
400 | static PyObject *__pyx_f_4dnet___memcpy(char (*__pyx_v_dst),PyObject *__pyx_v_src,int __pyx_v_n) {
| ~~~~~~~^~~~~~~~~~~~
./dnet.c:3253:46: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
3253 | __pyx_1 = __pyx_f_4dnet___memcpy(__pyx_v_dh.data,__pyx_v_dha,6); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; goto __pyx_L1;}
| ~~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
./dnet.c:400:48: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
400 | static PyObject *__pyx_f_4dnet___memcpy(char (*__pyx_v_dst),PyObject *__pyx_v_src,int __pyx_v_n) {
| ~~~~~~~^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_ifent_to_dict’:
./dnet.c:3494:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
3494 | if (__pyx_3 = PyObject_RichCompareBool(__pyx_1, __pyx_2, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; goto __pyx_L1;}
| ^~~~~~~
./dnet.c:3516:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
3516 | if (__pyx_3 = PyObject_RichCompareBool(__pyx_2, __pyx_1, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; goto __pyx_L1;}
| ^~~~~~~
./dnet.c:3538:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
3538 | if (__pyx_3 = PyObject_RichCompareBool(__pyx_1, __pyx_2, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; goto __pyx_L1;}
| ^~~~~~~
./dnet.c:3593:5: warning: label ‘__pyx_L7’ defined but not used [-Wunused-label]
3593 | __pyx_L7:;
| ^~~~~~~~
./dnet.c:3591:7: warning: label ‘__pyx_L6’ defined but not used [-Wunused-label]
3591 | __pyx_L6:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_dict_to_ifent’:
./dnet.c:3649:3: warning: implicit declaration of function ‘strlcpy’; did you mean ‘strncpy’? [-Wimplicit-function-declaration]
3649 | strlcpy(__pyx_v_entry->intf_name,__pyx_2,16);
| ^~~~~~~
| strncpy
./dnet.c:3747:5: warning: label ‘__pyx_L9’ defined but not used [-Wunused-label]
3747 | __pyx_L9:;
| ^~~~~~~~
./dnet.c:3745:7: warning: label ‘__pyx_L8’ defined but not used [-Wunused-label]
3745 | __pyx_L8:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4intf_loop’:
./dnet.c:4137:91: warning: passing argument 2 of ‘intf_loop’ from incompatible pointer type [-Wincompatible-pointer-types]
4137 | __pyx_1 = PyLong_FromLong(intf_loop(((struct __pyx_obj_4dnet_intf *)__pyx_v_self)->intf,__pyx_f_4dnet___intf_callback,((void (*))__pyx_v__arg))); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; goto __pyx_L1;}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int (*)(struct intf_entry *, void *)
In file included from ../include/dnet.h:24,
from ./dnet.c:24:
../include/dnet/intf.h:64:44: note: expected ‘intf_handler’ {aka ‘int (*)(const struct intf_entry *, void *)’} but argument is of type ‘int (*)(struct intf_entry *, void *)’
64 | int intf_loop(intf_t *i, intf_handler callback, void *arg);
| ~~~~~~~~~~~~~^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4intf___dealloc__’:
./dnet.c:4227:3: warning: label ‘__pyx_L1’ defined but not used [-Wunused-label]
4227 | __pyx_L1:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_5route_loop’:
./dnet.c:4558:94: warning: passing argument 2 of ‘route_loop’ from incompatible pointer type [-Wincompatible-pointer-types]
4558 | __pyx_1 = PyLong_FromLong(route_loop(((struct __pyx_obj_4dnet_route *)__pyx_v_self)->route,__pyx_f_4dnet___route_callback,((void (*))__pyx_v__arg))); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1148; goto __pyx_L1;}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int (*)(struct route_entry *, void *)
In file included from ../include/dnet.h:25,
from ./dnet.c:24:
../include/dnet/route.h:31:47: note: expected ‘route_handler’ {aka ‘int (*)(const struct route_entry *, void *)’} but argument is of type ‘int (*)(struct route_entry *, void *)’
31 | int route_loop(route_t *r, route_handler callback, void *arg);
| ~~~~~~~~~~~~~~^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_5route___dealloc__’:
./dnet.c:4648:3: warning: label ‘__pyx_L1’ defined but not used [-Wunused-label]
4648 | __pyx_L1:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_rule_to_dict’:
./dnet.c:4710:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
4710 | if (__pyx_2 = PyObject_RichCompareBool(__pyx_1, __pyx_3, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1196; goto __pyx_L1;}
| ^~~~~~~
./dnet.c:4732:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
4732 | if (__pyx_2 = PyObject_RichCompareBool(__pyx_3, __pyx_1, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1198; goto __pyx_L1;}
| ^~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_dict_to_rule’:
./dnet.c:4860:9: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
4860 | if (__pyx_3 = PyObject_RichCompareBool(__pyx_1, __pyx_4, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; goto __pyx_L1;}
| ^~~~~~~
./dnet.c:4867:11: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
4867 | if (__pyx_3 = PyObject_RichCompareBool(__pyx_1, __pyx_4, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1213; goto __pyx_L1;}
| ^~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_2fw_loop’:
./dnet.c:5218:85: warning: passing argument 2 of ‘fw_loop’ from incompatible pointer type [-Wincompatible-pointer-types]
5218 | __pyx_1 = PyLong_FromLong(fw_loop(((struct __pyx_obj_4dnet_fw *)__pyx_v_self)->fw,__pyx_f_4dnet___fw_callback,((void (*))__pyx_v__arg))); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1284; goto __pyx_L1;}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int (*)(struct fw_rule *, void *)
In file included from ../include/dnet.h:26,
from ./dnet.c:24:
../include/dnet/fw.h:50:38: note: expected ‘fw_handler’ {aka ‘int (*)(const struct fw_rule *, void *)’} but argument is of type ‘int (*)(struct fw_rule *, void *)’
50 | int fw_loop(fw_t *f, fw_handler callback, void *arg);
| ~~~~~~~~~~~^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_2fw___dealloc__’:
./dnet.c:5308:3: warning: label ‘__pyx_L1’ defined but not used [-Wunused-label]
5308 | __pyx_L1:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4rand_get’:
./dnet.c:5372:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
5372 | if (__pyx_2 = PyObject_RichCompareBool(__pyx_v_len, __pyx_1, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; goto __pyx_L1;}
| ^~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4rand_xrange’:
./dnet.c:5574:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
5574 | if (__pyx_1 = PyObject_RichCompareBool(__pyx_v_stop, Py_None, Py_EQ) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; goto __pyx_L1;}
| ^~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_4rand___dealloc__’:
./dnet.c:5642:3: warning: label ‘__pyx_L1’ defined but not used [-Wunused-label]
5642 | __pyx_L1:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_13__rand_xrange___init__’:
./dnet.c:5738:3: warning: label ‘__pyx_L5’ defined but not used [-Wunused-label]
5738 | __pyx_L5:;
| ^~~~~~~~
./dnet.c:5731:5: warning: label ‘__pyx_L4’ defined but not used [-Wunused-label]
5731 | __pyx_L4:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_13__rand_xrange___iter__’:
./dnet.c:5800:3: warning: label ‘__pyx_L1’ defined but not used [-Wunused-label]
5800 | __pyx_L1:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_13__rand_xrange___len__’:
./dnet.c:5819:3: warning: label ‘__pyx_L1’ defined but not used [-Wunused-label]
5819 | __pyx_L1:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_13__rand_xrange___next__’:
./dnet.c:5892:5: warning: label ‘__pyx_L6’ defined but not used [-Wunused-label]
5892 | __pyx_L6:;
| ^~~~~~~~
./dnet.c:5890:7: warning: label ‘__pyx_L5’ defined but not used [-Wunused-label]
5890 | __pyx_L5:;
| ^~~~~~~~
./dnet.c:5856:5: warning: label ‘__pyx_L3’ defined but not used [-Wunused-label]
5856 | __pyx_L3:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_3tun_close’:
./dnet.c:6148:3: warning: label ‘__pyx_L1’ defined but not used [-Wunused-label]
6148 | __pyx_L1:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_f_4dnet_3tun___dealloc__’:
./dnet.c:6182:3: warning: label ‘__pyx_L1’ defined but not used [-Wunused-label]
6182 | __pyx_L1:;
| ^~~~~~~~
./dnet.c: In function ‘__pyx_tp_new_4dnet_eth’:
./dnet.c:6404:31: warning: unused variable ‘p’ [-Wunused-variable]
6404 | struct __pyx_obj_4dnet_eth *p = (struct __pyx_obj_4dnet_eth *)o;
| ^
./dnet.c: In function ‘__pyx_tp_dealloc_4dnet_eth’:
./dnet.c:6409:31: warning: unused variable ‘p’ [-Wunused-variable]
6409 | struct __pyx_obj_4dnet_eth *p = (struct __pyx_obj_4dnet_eth *)o;
| ^
./dnet.c: In function ‘__pyx_tp_traverse_4dnet_eth’:
./dnet.c:6424:31: warning: unused variable ‘p’ [-Wunused-variable]
6424 | struct __pyx_obj_4dnet_eth *p = (struct __pyx_obj_4dnet_eth *)o;
| ^
./dnet.c:6423:7: warning: unused variable ‘e’ [-Wunused-variable]
6423 | int e;
| ^
./dnet.c: In function ‘__pyx_tp_clear_4dnet_eth’:
./dnet.c:6429:31: warning: unused variable ‘p’ [-Wunused-variable]
6429 | struct __pyx_obj_4dnet_eth *p = (struct __pyx_obj_4dnet_eth *)o;
| ^
./dnet.c: At top level:
./dnet.c:6477:3: warning: excess elements in struct initializer
6477 | 0, /*nb_inplace_floor_divide*/
| ^
./dnet.c:6477:3: note: (near initialization for ‘__pyx_tp_as_number_eth’)
./dnet.c:6478:3: warning: excess elements in struct initializer
6478 | 0, /*nb_inplace_true_divide*/
| ^
./dnet.c:6478:3: note: (near initialization for ‘__pyx_tp_as_number_eth’)
./dnet.c:6503:3: warning: excess elements in struct initializer
6503 | 0, /*bf_getsegcount*/
| ^
./dnet.c:6503:3: note: (near initialization for ‘__pyx_tp_as_buffer_eth’)
./dnet.c:6504:3: warning: excess elements in struct initializer
6504 | 0, /*bf_getcharbuffer*/
| ^
./dnet.c:6504:3: note: (near initialization for ‘__pyx_tp_as_buffer_eth’)
./dnet.c: In function ‘__pyx_tp_new_4dnet_ip’:
./dnet.c:6557:30: warning: unused variable ‘p’ [-Wunused-variable]
6557 | struct __pyx_obj_4dnet_ip *p = (struct __pyx_obj_4dnet_ip *)o;
| ^
./dnet.c: In function ‘__pyx_tp_dealloc_4dnet_ip’:
./dnet.c:6562:30: warning: unused variable ‘p’ [-Wunused-variable]
6562 | struct __pyx_obj_4dnet_ip *p = (struct __pyx_obj_4dnet_ip *)o;
| ^
./dnet.c: In function ‘__pyx_tp_traverse_4dnet_ip’:
./dnet.c:6577:30: warning: unused variable ‘p’ [-Wunused-variable]
6577 | struct __pyx_obj_4dnet_ip *p = (struct __pyx_obj_4dnet_ip *)o;
| ^
./dnet.c:6576:7: warning: unused variable ‘e’ [-Wunused-variable]
6576 | int e;
| ^
./dnet.c: In function ‘__pyx_tp_clear_4dnet_ip’:
./dnet.c:6582:30: warning: unused variable ‘p’ [-Wunused-variable]
6582 | struct __pyx_obj_4dnet_ip *p = (struct __pyx_obj_4dnet_ip *)o;
| ^
./dnet.c: At top level:
./dnet.c:6628:3: warning: excess elements in struct initializer
6628 | 0, /*nb_inplace_floor_divide*/
| ^
./dnet.c:6628:3: note: (near initialization for ‘__pyx_tp_as_number_ip’)
./dnet.c:6629:3: warning: excess elements in struct initializer
6629 | 0, /*nb_inplace_true_divide*/
| ^
./dnet.c:6629:3: note: (near initialization for ‘__pyx_tp_as_number_ip’)
./dnet.c:6654:3: warning: excess elements in struct initializer
6654 | 0, /*bf_getsegcount*/
| ^
./dnet.c:6654:3: note: (near initialization for ‘__pyx_tp_as_buffer_ip’)
./dnet.c:6655:3: warning: excess elements in struct initializer
6655 | 0, /*bf_getcharbuffer*/
| ^
./dnet.c:6655:3: note: (near initialization for ‘__pyx_tp_as_buffer_ip’)
./dnet.c: In function ‘__pyx_tp_new_4dnet_addr’:
./dnet.c:6708:32: warning: unused variable ‘p’ [-Wunused-variable]
6708 | struct __pyx_obj_4dnet_addr *p = (struct __pyx_obj_4dnet_addr *)o;
| ^
./dnet.c: In function ‘__pyx_tp_dealloc_4dnet_addr’:
./dnet.c:6713:32: warning: unused variable ‘p’ [-Wunused-variable]
6713 | struct __pyx_obj_4dnet_addr *p = (struct __pyx_obj_4dnet_addr *)o;
| ^
./dnet.c: In function ‘__pyx_tp_traverse_4dnet_addr’:
./dnet.c:6719:32: warning: unused variable ‘p’ [-Wunused-variable]
6719 | struct __pyx_obj_4dnet_addr *p = (struct __pyx_obj_4dnet_addr *)o;
| ^
./dnet.c:6718:7: warning: unused variable ‘e’ [-Wunused-variable]
6718 | int e;
| ^
./dnet.c: In function ‘__pyx_tp_clear_4dnet_addr’:
./dnet.c:6724:32: warning: unused variable ‘p’ [-Wunused-variable]
6724 | struct __pyx_obj_4dnet_addr *p = (struct __pyx_obj_4dnet_addr *)o;
| ^
./dnet.c: At top level:
./dnet.c:6839:3: warning: initialization of ‘PyObject * (*)(PyObject *, PyObject *)’ {aka ‘struct _object * (*)(struct _object *, struct _object *)’} from incompatible pointer type ‘PyObject * (*)(PyObject *)’ {aka ‘struct _object * (*)(struct _object *)’} [-Wincompatible-pointer-types]
6839 | __pyx_f_4dnet_4addr___long__, /*nb_long*/
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./dnet.c:6839:3: note: (near initialization for ‘__pyx_tp_as_number_addr.nb_inplace_add’)
./dnet.c:6856:3: warning: excess elements in struct initializer
6856 | 0, /*nb_inplace_floor_divide*/
| ^
./dnet.c:6856:3: note: (near initialization for ‘__pyx_tp_as_number_addr’)
./dnet.c:6857:3: warning: excess elements in struct initializer
6857 | 0, /*nb_inplace_true_divide*/
| ^
./dnet.c:6857:3: note: (near initialization for ‘__pyx_tp_as_number_addr’)
./dnet.c:6882:3: warning: excess elements in struct initializer
6882 | 0, /*bf_getsegcount*/
| ^
./dnet.c:6882:3: note: (near initialization for ‘__pyx_tp_as_buffer_addr’)
./dnet.c:6883:3: warning: excess elements in struct initializer
6883 | 0, /*bf_getcharbuffer*/
| ^
./dnet.c:6883:3: note: (near initialization for ‘__pyx_tp_as_buffer_addr’)
./dnet.c:6895:3: warning: initialization of ‘PyAsyncMethods *’ from incompatible pointer type ‘int (*)(PyObject *, PyObject *)’ {aka ‘int (*)(struct _object *, struct _object *)’} [-Wincompatible-pointer-types]
6895 | __pyx_f_4dnet_4addr___cmp__, /*tp_compare*/
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./dnet.c:6895:3: note: (near initialization for ‘__pyx_type_4dnet_addr.tp_as_async’)
./dnet.c: In function ‘__pyx_tp_new_4dnet___addr_ip4_iter’:
./dnet.c:6936:43: warning: unused variable ‘p’ [-Wunused-variable]
6936 | struct __pyx_obj_4dnet___addr_ip4_iter *p = (struct __pyx_obj_4dnet___addr_ip4_iter *)o;
| ^
./dnet.c: In function ‘__pyx_tp_dealloc_4dnet___addr_ip4_iter’:
./dnet.c:6941:43: warning: unused variable ‘p’ [-Wunused-variable]
6941 | struct __pyx_obj_4dnet___addr_ip4_iter *p = (struct __pyx_obj_4dnet___addr_ip4_iter *)o;
| ^
./dnet.c: In function ‘__pyx_tp_traverse_4dnet___addr_ip4_iter’:
./dnet.c:6947:43: warning: unused variable ‘p’ [-Wunused-variable]
6947 | struct __pyx_obj_4dnet___addr_ip4_iter *p = (struct __pyx_obj_4dnet___addr_ip4_iter *)o;
| ^
./dnet.c:6946:7: warning: unused variable ‘e’ [-Wunused-variable]
6946 | int e;
| ^
./dnet.c: In function ‘__pyx_tp_clear_4dnet___addr_ip4_iter’:
./dnet.c:6952:43: warning: unused variable ‘p’ [-Wunused-variable]
6952 | struct __pyx_obj_4dnet___addr_ip4_iter *p = (struct __pyx_obj_4dnet___addr_ip4_iter *)o;
| ^
./dnet.c: At top level:
./dnet.c:6997:3: warning: excess elements in struct initializer
6997 | 0, /*nb_inplace_floor_divide*/
| ^
./dnet.c:6997:3: note: (near initialization for ‘__pyx_tp_as_number___addr_ip4_iter’)
./dnet.c:6998:3: warning: excess elements in struct initializer
6998 | 0, /*nb_inplace_true_divide*/
| ^
./dnet.c:6998:3: note: (near initialization for ‘__pyx_tp_as_number___addr_ip4_iter’)
./dnet.c:7023:3: warning: excess elements in struct initializer
7023 | 0, /*bf_getsegcount*/
| ^
./dnet.c:7023:3: note: (near initialization for ‘__pyx_tp_as_buffer___addr_ip4_iter’)
./dnet.c:7024:3: warning: excess elements in struct initializer
7024 | 0, /*bf_getcharbuffer*/
| ^
./dnet.c:7024:3: note: (near initialization for ‘__pyx_tp_as_buffer___addr_ip4_iter’)
./dnet.c: In function ‘__pyx_tp_new_4dnet_arp’:
./dnet.c:7077:31: warning: unused variable ‘p’ [-Wunused-variable]
7077 | struct __pyx_obj_4dnet_arp *p = (struct __pyx_obj_4dnet_arp *)o;
| ^
./dnet.c: In function ‘__pyx_tp_dealloc_4dnet_arp’:
./dnet.c:7082:31: warning: unused variable ‘p’ [-Wunused-variable]
7082 | struct __pyx_obj_4dnet_arp *p = (struct __pyx_obj_4dnet_arp *)o;
| ^
./dnet.c: In function ‘__pyx_tp_traverse_4dnet_arp’:
./dnet.c:7097:31: warning: unused variable ‘p’ [-Wunused-variable]
7097 | struct __pyx_obj_4dnet_arp *p = (struct __pyx_obj_4dnet_arp *)o;
| ^
./dnet.c:7096:7: warning: unused variable ‘e’ [-Wunused-variable]
7096 | int e;
| ^
./dnet.c: In function ‘__pyx_tp_clear_4dnet_arp’:
./dnet.c:7102:31: warning: unused variable ‘p’ [-Wunused-variable]
7102 | struct __pyx_obj_4dnet_arp *p = (struct __pyx_obj_4dnet_arp *)o;
| ^
./dnet.c: At top level:
./dnet.c:7151:3: warning: excess elements in struct initializer
7151 | 0, /*nb_inplace_floor_divide*/
| ^
./dnet.c:7151:3: note: (near initialization for ‘__pyx_tp_as_number_arp’)
./dnet.c:7152:3: warning: excess elements in struct initializer
7152 | 0, /*nb_inplace_true_divide*/
| ^
./dnet.c:7152:3: note: (near initialization for ‘__pyx_tp_as_number_arp’)
./dnet.c:7177:3: warning: excess elements in struct initializer
7177 | 0, /*bf_getsegcount*/
| ^
./dnet.c:7177:3: note: (near initialization for ‘__pyx_tp_as_buffer_arp’)
./dnet.c:7178:3: warning: excess elements in struct initializer
7178 | 0, /*bf_getcharbuffer*/
| ^
./dnet.c:7178:3: note: (near initialization for ‘__pyx_tp_as_buffer_arp’)
./dnet.c: In function ‘__pyx_tp_new_4dnet_intf’:
./dnet.c:7231:32: warning: unused variable ‘p’ [-Wunused-variable]
7231 | struct __pyx_obj_4dnet_intf *p = (struct __pyx_obj_4dnet_intf *)o;
| ^
./dnet.c: In function ‘__pyx_tp_dealloc_4dnet_intf’:
./dnet.c:7236:32: warning: unused variable ‘p’ [-Wunused-variable]
7236 | struct __pyx_obj_4dnet_intf *p = (struct __pyx_obj_4dnet_intf *)o;
| ^
./dnet.c: In function ‘__pyx_tp_traverse_4dnet_intf’:
./dnet.c:7251:32: warning: unused variable ‘p’ [-Wunused-variable]
7251 | struct __pyx_obj_4dnet_intf *p = (struct __pyx_obj_4dnet_intf *)o;
| ^
./dnet.c:7250:7: warning: unused variable ‘e’ [-Wunused-variable]
7250 | int e;
| ^
./dnet.c: In function ‘__pyx_tp_clear_4dnet_intf’:
./dnet.c:7256:32: warning: unused variable ‘p’ [-Wunused-variable]
7256 | struct __pyx_obj_4dnet_intf *p = (struct __pyx_obj_4dnet_intf *)o;
| ^
./dnet.c: At top level:
./dnet.c:7306:3: warning: excess elements in struct initializer
7306 | 0, /*nb_inplace_floor_divide*/
| ^
./dnet.c:7306:3: note: (near initialization for ‘__pyx_tp_as_number_intf’)
./dnet.c:7307:3: warning: excess elements in struct initializer
7307 | 0, /*nb_inplace_true_divide*/
| ^
./dnet.c:7307:3: note: (near initialization for ‘__pyx_tp_as_number_intf’)
./dnet.c:7332:3: warning: excess elements in struct initializer
7332 | 0, /*bf_getsegcount*/
| ^
./dnet.c:7332:3: note: (near initialization for ‘__pyx_tp_as_buffer_intf’)
./dnet.c:7333:3: warning: excess elements in struct initializer
7333 | 0, /*bf_getcharbuffer*/
| ^
./dnet.c:7333:3: note: (near initialization for ‘__pyx_tp_as_buffer_intf’)
./dnet.c: In function ‘__pyx_tp_new_4dnet_route’:
./dnet.c:7386:33: warning: unused variable ‘p’ [-Wunused-variable]
7386 | struct __pyx_obj_4dnet_route *p = (struct __pyx_obj_4dnet_route *)o;
| ^
./dnet.c: In function ‘__pyx_tp_dealloc_4dnet_route’:
./dnet.c:7391:33: warning: unused variable ‘p’ [-Wunused-variable]
7391 | struct __pyx_obj_4dnet_route *p = (struct __pyx_obj_4dnet_route *)o;
| ^
./dnet.c: In function ‘__pyx_tp_traverse_4dnet_route’:
./dnet.c:7406:33: warning: unused variable ‘p’ [-Wunused-variable]
7406 | struct __pyx_obj_4dnet_route *p = (struct __pyx_obj_4dnet_route *)o;
| ^
./dnet.c:7405:7: warning: unused variable ‘e’ [-Wunused-variable]
7405 | int e;
| ^
./dnet.c: In function ‘__pyx_tp_clear_4dnet_route’:
./dnet.c:7411:33: warning: unused variable ‘p’ [-Wunused-variable]
7411 | struct __pyx_obj_4dnet_route *p = (struct __pyx_obj_4dnet_route *)o;
| ^
./dnet.c: At top level:
./dnet.c:7460:3: warning: excess elements in struct initializer
7460 | 0, /*nb_inplace_floor_divide*/
| ^
./dnet.c:7460:3: note: (near initialization for ‘__pyx_tp_as_number_route’)
./dnet.c:7461:3: warning: excess elements in struct initializer
7461 | 0, /*nb_inplace_true_divide*/
| ^
./dnet.c:7461:3: note: (near initialization for ‘__pyx_tp_as_number_route’)
./dnet.c:7486:3: warning: excess elements in struct initializer
7486 | 0, /*bf_getsegcount*/
| ^
./dnet.c:7486:3: note: (near initialization for ‘__pyx_tp_as_buffer_route’)
./dnet.c:7487:3: warning: excess elements in struct initializer
7487 | 0, /*bf_getcharbuffer*/
| ^
./dnet.c:7487:3: note: (near initialization for ‘__pyx_tp_as_buffer_route’)
./dnet.c: In function ‘__pyx_tp_new_4dnet_fw’:
./dnet.c:7540:30: warning: unused variable ‘p’ [-Wunused-variable]
7540 | struct __pyx_obj_4dnet_fw *p = (struct __pyx_obj_4dnet_fw *)o;
| ^
./dnet.c: In function ‘__pyx_tp_dealloc_4dnet_fw’:
./dnet.c:7545:30: warning: unused variable ‘p’ [-Wunused-variable]
7545 | struct __pyx_obj_4dnet_fw *p = (struct __pyx_obj_4dnet_fw *)o;
| ^
./dnet.c: In function ‘__pyx_tp_traverse_4dnet_fw’:
./dnet.c:7560:30: warning: unused variable ‘p’ [-Wunused-variable]
7560 | struct __pyx_obj_4dnet_fw *p = (struct __pyx_obj_4dnet_fw *)o;
| ^
./dnet.c:7559:7: warning: unused variable ‘e’ [-Wunused-variable]
7559 | int e;
| ^
./dnet.c: In function ‘__pyx_tp_clear_4dnet_fw’:
./dnet.c:7565:30: warning: unused variable ‘p’ [-Wunused-variable]
7565 | struct __pyx_obj_4dnet_fw *p = (struct __pyx_obj_4dnet_fw *)o;
| ^
./dnet.c: At top level:
./dnet.c:7613:3: warning: excess elements in struct initializer
7613 | 0, /*nb_inplace_floor_divide*/
| ^
./dnet.c:7613:3: note: (near initialization for ‘__pyx_tp_as_number_fw’)
./dnet.c:7614:3: warning: excess elements in struct initializer
7614 | 0, /*nb_inplace_true_divide*/
| ^
./dnet.c:7614:3: note: (near initialization for ‘__pyx_tp_as_number_fw’)
./dnet.c:7639:3: warning: excess elements in struct initializer
7639 | 0, /*bf_getsegcount*/
| ^
./dnet.c:7639:3: note: (near initialization for ‘__pyx_tp_as_buffer_fw’)
./dnet.c:7640:3: warning: excess elements in struct initializer
7640 | 0, /*bf_getcharbuffer*/
| ^
./dnet.c:7640:3: note: (near initialization for ‘__pyx_tp_as_buffer_fw’)
./dnet.c: In function ‘__pyx_tp_new_4dnet_rand’:
./dnet.c:7693:32: warning: unused variable ‘p’ [-Wunused-variable]
7693 | struct __pyx_obj_4dnet_rand *p = (struct __pyx_obj_4dnet_rand *)o;
| ^
./dnet.c: In function ‘__pyx_tp_dealloc_4dnet_rand’:
./dnet.c:7698:32: warning: unused variable ‘p’ [-Wunused-variable]
7698 | struct __pyx_obj_4dnet_rand *p = (struct __pyx_obj_4dnet_rand *)o;
| ^
./dnet.c: In function ‘__pyx_tp_traverse_4dnet_rand’:
./dnet.c:7713:32: warning: unused variable ‘p’ [-Wunused-variable]
7713 | struct __pyx_obj_4dnet_rand *p = (struct __pyx_obj_4dnet_rand *)o;
| ^
./dnet.c:7712:7: warning: unused variable ‘e’ [-Wunused-variable]
7712 | int e;
| ^
./dnet.c: In function ‘__pyx_tp_clear_4dnet_rand’:
./dnet.c:7718:32: warning: unused variable ‘p’ [-Wunused-variable]
7718 | struct __pyx_obj_4dnet_rand *p = (struct __pyx_obj_4dnet_rand *)o;
| ^
./dnet.c: At top level:
./dnet.c:7770:3: warning: excess elements in struct initializer
7770 | 0, /*nb_inplace_floor_divide*/
| ^
./dnet.c:7770:3: note: (near initialization for ‘__pyx_tp_as_number_rand’)
./dnet.c:7771:3: warning: excess elements in struct initializer
7771 | 0, /*nb_inplace_true_divide*/
| ^
./dnet.c:7771:3: note: (near initialization for ‘__pyx_tp_as_number_rand’)
./dnet.c:7796:3: warning: excess elements in struct initializer
7796 | 0, /*bf_getsegcount*/
| ^
./dnet.c:7796:3: note: (near initialization for ‘__pyx_tp_as_buffer_rand’)
./dnet.c:7797:3: warning: excess elements in struct initializer
7797 | 0, /*bf_getcharbuffer*/
| ^
./dnet.c:7797:3: note: (near initialization for ‘__pyx_tp_as_buffer_rand’)
./dnet.c: In function ‘__pyx_tp_new_4dnet___rand_xrange’:
./dnet.c:7850:41: warning: unused variable ‘p’ [-Wunused-variable]
7850 | struct __pyx_obj_4dnet___rand_xrange *p = (struct __pyx_obj_4dnet___rand_xrange *)o;
| ^
./dnet.c: In function ‘__pyx_tp_dealloc_4dnet___rand_xrange’:
./dnet.c:7855:41: warning: unused variable ‘p’ [-Wunused-variable]
7855 | struct __pyx_obj_4dnet___rand_xrange *p = (struct __pyx_obj_4dnet___rand_xrange *)o;
| ^
./dnet.c: In function ‘__pyx_tp_traverse_4dnet___rand_xrange’:
./dnet.c:7861:41: warning: unused variable ‘p’ [-Wunused-variable]
7861 | struct __pyx_obj_4dnet___rand_xrange *p = (struct __pyx_obj_4dnet___rand_xrange *)o;
| ^
./dnet.c:7860:7: warning: unused variable ‘e’ [-Wunused-variable]
7860 | int e;
| ^
./dnet.c: In function ‘__pyx_tp_clear_4dnet___rand_xrange’:
./dnet.c:7866:41: warning: unused variable ‘p’ [-Wunused-variable]
7866 | struct __pyx_obj_4dnet___rand_xrange *p = (struct __pyx_obj_4dnet___rand_xrange *)o;
| ^
./dnet.c: At top level:
./dnet.c:7911:3: warning: excess elements in struct initializer
7911 | 0, /*nb_inplace_floor_divide*/
| ^
./dnet.c:7911:3: note: (near initialization for ‘__pyx_tp_as_number___rand_xrange’)
./dnet.c:7912:3: warning: excess elements in struct initializer
7912 | 0, /*nb_inplace_true_divide*/
| ^
./dnet.c:7912:3: note: (near initialization for ‘__pyx_tp_as_number___rand_xrange’)
./dnet.c:7937:3: warning: excess elements in struct initializer
7937 | 0, /*bf_getsegcount*/
| ^
./dnet.c:7937:3: note: (near initialization for ‘__pyx_tp_as_buffer___rand_xrange’)
./dnet.c:7938:3: warning: excess elements in struct initializer
7938 | 0, /*bf_getcharbuffer*/
| ^
./dnet.c:7938:3: note: (near initialization for ‘__pyx_tp_as_buffer___rand_xrange’)
./dnet.c: In function ‘__pyx_tp_new_4dnet_tun’:
./dnet.c:7991:31: warning: unused variable ‘p’ [-Wunused-variable]
7991 | struct __pyx_obj_4dnet_tun *p = (struct __pyx_obj_4dnet_tun *)o;
| ^
./dnet.c: In function ‘__pyx_tp_dealloc_4dnet_tun’:
./dnet.c:7996:31: warning: unused variable ‘p’ [-Wunused-variable]
7996 | struct __pyx_obj_4dnet_tun *p = (struct __pyx_obj_4dnet_tun *)o;
| ^
./dnet.c: In function ‘__pyx_tp_traverse_4dnet_tun’:
./dnet.c:8011:31: warning: unused variable ‘p’ [-Wunused-variable]
8011 | struct __pyx_obj_4dnet_tun *p = (struct __pyx_obj_4dnet_tun *)o;
| ^
./dnet.c:8010:7: warning: unused variable ‘e’ [-Wunused-variable]
8010 | int e;
| ^
./dnet.c: In function ‘__pyx_tp_clear_4dnet_tun’:
./dnet.c:8016:31: warning: unused variable ‘p’ [-Wunused-variable]
8016 | struct __pyx_obj_4dnet_tun *p = (struct __pyx_obj_4dnet_tun *)o;
| ^
./dnet.c: At top level:
./dnet.c:8079:3: warning: excess elements in struct initializer
8079 | 0, /*nb_inplace_floor_divide*/
| ^
./dnet.c:8079:3: note: (near initialization for ‘__pyx_tp_as_number_tun’)
./dnet.c:8080:3: warning: excess elements in struct initializer
8080 | 0, /*nb_inplace_true_divide*/
| ^
./dnet.c:8080:3: note: (near initialization for ‘__pyx_tp_as_number_tun’)
./dnet.c:8105:3: warning: excess elements in struct initializer
8105 | 0, /*bf_getsegcount*/
| ^
./dnet.c:8105:3: note: (near initialization for ‘__pyx_tp_as_buffer_tun’)
./dnet.c:8106:3: warning: excess elements in struct initializer
8106 | 0, /*bf_getcharbuffer*/
| ^
./dnet.c:8106:3: note: (near initialization for ‘__pyx_tp_as_buffer_tun’)
./dnet.c: In function ‘__Pyx_EndUnpack’:
./dnet.c:9275:7: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
9275 | if (item = PySequence_GetItem(seq, i)) {
| ^~~~
./dnet.c: At top level:
./dnet.c:32:12: warning: ‘__Pyx_PrintItem’ declared ‘static’ but never defined [-Wunused-function]
32 | static int __Pyx_PrintItem(PyObject *); /*proto*/
| ^~~~~~~~~~~~~~~
./dnet.c:33:12: warning: ‘__Pyx_PrintNewline’ declared ‘static’ but never defined [-Wunused-function]
33 | static int __Pyx_PrintNewline(void); /*proto*/
| ^~~~~~~~~~~~~~~~~~
./dnet.c:35:13: warning: ‘__Pyx_ReRaise’ declared ‘static’ but never defined [-Wunused-function]
35 | static void __Pyx_ReRaise(void); /*proto*/
| ^~~~~~~~~~~~~
./dnet.c:36:18: warning: ‘__Pyx_Import’ declared ‘static’ but never defined [-Wunused-function]
36 | static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
| ^~~~~~~~~~~~
./dnet.c:37:18: warning: ‘__Pyx_GetExcValue’ declared ‘static’ but never defined [-Wunused-function]
37 | static PyObject *__Pyx_GetExcValue(void); /*proto*/
| ^~~~~~~~~~~~~~~~~
./dnet.c:40:12: warning: ‘__Pyx_GetStarArgs’ declared ‘static’ but never defined [-Wunused-function]
40 | static int __Pyx_GetStarArgs(PyObject **args, PyObject **kwds, char *kwd_list[], Py_ssize_t nargs, PyObject **args2, PyObject **kwds2); /*proto*/
| ^~~~~~~~~~~~~~~~~
./dnet.c:41:13: warning: ‘__Pyx_WriteUnraisable’ declared ‘static’ but never defined [-Wunused-function]
41 | static void __Pyx_WriteUnraisable(char *name); /*proto*/
| ^~~~~~~~~~~~~~~~~~~~~
./dnet.c:43:22: warning: ‘__Pyx_ImportType’ declared ‘static’ but never defined [-Wunused-function]
43 | static PyTypeObject *__Pyx_ImportType(char *module_name, char *class_name, long size); /*proto*/
| ^~~~~~~~~~~~~~~~
./dnet.c:44:12: warning: ‘__Pyx_SetVtable’ declared ‘static’ but never defined [-Wunused-function]
44 | static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
| ^~~~~~~~~~~~~~~
./dnet.c:45:12: warning: ‘__Pyx_GetVtable’ declared ‘static’ but never defined [-Wunused-function]
45 | static int __Pyx_GetVtable(PyObject *dict, void *vtabptr); /*proto*/
| ^~~~~~~~~~~~~~~
./dnet.c:46:18: warning: ‘__Pyx_CreateClass’ declared ‘static’ but never defined [-Wunused-function]
46 | static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name, char *modname); /*proto*/
| ^~~~~~~~~~~~~~~~~
./dnet.c:49:12: warning: ‘__Pyx_InitCApi’ declared ‘static’ but never defined [-Wunused-function]
49 | static int __Pyx_InitCApi(PyObject *module); /*proto*/
| ^~~~~~~~~~~~~~
./dnet.c:50:12: warning: ‘__Pyx_ImportModuleCApi’ declared ‘static’ but never defined [-Wunused-function]
50 | static int __Pyx_ImportModuleCApi(__Pyx_CApiTabEntry *t); /*proto*/
| ^~~~~~~~~~~~~~~~~~~~~~
./dnet.c:3649:3: warning: type of ‘strlcpy’ does not match original declaration [-Wlto-type-mismatch]
3649 | strlcpy(__pyx_v_entry->intf_name,__pyx_2,16);
| ^
../src/strlcpy.c:43:1: note: return value type mismatch
43 | strlcpy(dst, src, siz)
| ^
../src/strlcpy.c:43:1: note: type ‘size_t’ should match type ‘int’
../src/../include/config.h:298:5: warning: type of ‘strlcpy’ does not match original declaration [-Wlto-type-mismatch]
298 | int strlcpy(char *, const char *, int);
| ^
../src/strlcpy.c:43:1: note: return value type mismatch
43 | strlcpy(dst, src, siz)
| ^
../src/strlcpy.c:43:1: note: type ‘size_t’ should match type ‘int’
../src/strlcpy.c:43:1: note: ‘strlcpy’ was previously declared here
../src/strlcpy.c:43:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used