xref: /OK3568_Linux_fs/buildroot/package/easyframes/0002-Fix-different-compiling-issues.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunFrom d3d179c3c39ec10ec636b325325ad8e18ae9542f Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Horatiu Vultur <horatiu.vultur@microchip.com>
3*4882a593SmuzhiyunDate: Tue, 1 Sep 2020 13:03:47 +0200
4*4882a593SmuzhiyunSubject: [PATCH] Fix different compiling issues
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun[Retrieved from:
7*4882a593Smuzhiyunhttps://github.com/microchip-ung/easyframes/commit/d3d179c3c39ec10ec636b325325ad8e18ae9542f]
8*4882a593SmuzhiyunSigned-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
9*4882a593Smuzhiyun---
10*4882a593Smuzhiyun src/ef-exec.c        | 4 ++--
11*4882a593Smuzhiyun src/ef-parse-bytes.c | 8 ++++++--
12*4882a593Smuzhiyun src/ef.h             | 4 ++--
13*4882a593Smuzhiyun 3 files changed, 10 insertions(+), 6 deletions(-)
14*4882a593Smuzhiyun
15*4882a593Smuzhiyundiff --git a/src/ef-exec.c b/src/ef-exec.c
16*4882a593Smuzhiyunindex 3d184a0..824164e 100644
17*4882a593Smuzhiyun--- a/src/ef-exec.c
18*4882a593Smuzhiyun+++ b/src/ef-exec.c
19*4882a593Smuzhiyun@@ -108,7 +108,7 @@ int ring_wait_for_init(tpacket_ring *ring) {
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun int raw_socket(cmd_socket_t *cmd_socket) {
23*4882a593Smuzhiyun-    int s, res, val, ifidx;
24*4882a593Smuzhiyun+    int s, res, val, ifidx, i;
25*4882a593Smuzhiyun     struct sockaddr_ll sa = {};
26*4882a593Smuzhiyun     struct packet_mreq mr = {};
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun@@ -194,7 +194,7 @@ int raw_socket(cmd_socket_t *cmd_socket) {
29*4882a593Smuzhiyun     //
30*4882a593Smuzhiyun     // TODO: This does not seem to be needed, if we uses a RX ring buffer
31*4882a593Smuzhiyun     // instead (atleast that seems to work for libpcap)
32*4882a593Smuzhiyun-    for (int i = 0; i < 10000; ++i) {
33*4882a593Smuzhiyun+    for (i = 0; i < 10000; ++i) {
34*4882a593Smuzhiyun         struct msghdr msg = { 0 };
35*4882a593Smuzhiyun         int res = recvmsg(s, &msg, MSG_DONTWAIT);
36*4882a593Smuzhiyun         if (res < 0)
37*4882a593Smuzhiyundiff --git a/src/ef-parse-bytes.c b/src/ef-parse-bytes.c
38*4882a593Smuzhiyunindex 1dd590f..1785f45 100644
39*4882a593Smuzhiyun--- a/src/ef-parse-bytes.c
40*4882a593Smuzhiyun+++ b/src/ef-parse-bytes.c
41*4882a593Smuzhiyun@@ -2,6 +2,7 @@
42*4882a593Smuzhiyun #include <errno.h>
43*4882a593Smuzhiyun #include <stdio.h>
44*4882a593Smuzhiyun #include <stdlib.h>
45*4882a593Smuzhiyun+#include <endian.h>
46*4882a593Smuzhiyun #include <arpa/inet.h>
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun struct start_with {
49*4882a593Smuzhiyun@@ -212,7 +213,9 @@ buf_t *parse_bytes(const char *s, int bytes) {
50*4882a593Smuzhiyun     for (s = data_begin; *s; ++s) {
51*4882a593Smuzhiyun         int match_found = 0;
52*4882a593Smuzhiyun         for (i = 0; i < sizeof(has_chars)/sizeof(has_chars[0]); ++i) {
53*4882a593Smuzhiyun-            for (const char *set_i = has_chars[i].char_set; *set_i; ++set_i) {
54*4882a593Smuzhiyun+            const char *set_i;
55*4882a593Smuzhiyun+
56*4882a593Smuzhiyun+            for (set_i = has_chars[i].char_set; *set_i; ++set_i) {
57*4882a593Smuzhiyun                 if (*s == *set_i) {
58*4882a593Smuzhiyun                     has_mask |= has_chars[i].mask;
59*4882a593Smuzhiyun                     match_found = 1;
60*4882a593Smuzhiyun@@ -313,6 +316,7 @@ buf_t *parse_bytes(const char *s, int bytes) {
61*4882a593Smuzhiyun                ((has_mask & ~(HAS_HEX_COL)) == 0) && (has_mask & HAS_COLON)) {
62*4882a593Smuzhiyun         // This will be treated as a mac-address
63*4882a593Smuzhiyun         uint8_t m[6] = {};
64*4882a593Smuzhiyun+        const char *x;
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun         // We want to be able to write something like this (like we RFC2373
67*4882a593Smuzhiyun         // specifies for IPv6):
68*4882a593Smuzhiyun@@ -334,7 +338,7 @@ buf_t *parse_bytes(const char *s, int bytes) {
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun         //po("line: %d data_begin: %s\n", __LINE__, data_begin);
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun-        for (const char *x = data_begin; *x; ++x) {
73*4882a593Smuzhiyun+        for (x = data_begin; *x; ++x) {
74*4882a593Smuzhiyun             int colon = 0;
75*4882a593Smuzhiyun             int val = 0;
76*4882a593Smuzhiyun
77*4882a593Smuzhiyundiff --git a/src/ef.h b/src/ef.h
78*4882a593Smuzhiyunindex 8926c25..f4c1629 100644
79*4882a593Smuzhiyun--- a/src/ef.h
80*4882a593Smuzhiyun+++ b/src/ef.h
81*4882a593Smuzhiyun@@ -59,8 +59,8 @@ void bl_check(buf_list_t *b);
82*4882a593Smuzhiyun void bl_reset(buf_list_t *b);
83*4882a593Smuzhiyun void bset_value(buf_t *b, uint8_t v);
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun-inline void bl_init(buf_list_t *b) { bl_reset(b); }
86*4882a593Smuzhiyun-inline void bl_destroy(buf_list_t *b) { bl_reset(b); }
87*4882a593Smuzhiyun+static inline void bl_init(buf_list_t *b) { bl_reset(b); }
88*4882a593Smuzhiyun+static inline void bl_destroy(buf_list_t *b) { bl_reset(b); }
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun int bl_printf_append(buf_list_t *b, const char *format, ...)
91*4882a593Smuzhiyun     __attribute__ ((format (printf, 2, 3)));
92