summaryrefslogtreecommitdiff
path: root/media-libs/hamlib/files/hamlib-4.4-fix-clang-warnings.patch
blob: 832af50e0e6cffce3fdd60a72b6c5f7fd3ad49b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
From 1aebee2da9d29ff1d1a16e19f23bbff4e0f319a8 Mon Sep 17 00:00:00 2001
From: Mike Black W9MDB <mdblack98@yahoo.com>
Date: Mon, 14 Nov 2022 16:37:20 -0600
Subject: [PATCH 1/2] Fix clang warning on callback functions
 https://github.com/Hamlib/Hamlib/issues/1149

---
 include/hamlib/rig.h |  4 +++-
 rigs/aor/aor.c       |  4 ++--
 src/mem.c            | 15 ++++++++-------
 tests/testcaps.sh    | 12 ++++++++++++
 4 files changed, 25 insertions(+), 10 deletions(-)
 create mode 100755 tests/testcaps.sh

diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 574c21bd..5dbb5a7b 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -1675,7 +1675,7 @@ typedef struct cal_table_float cal_table_float_t;
 //! @cond Doxygen_Suppress
 #define EMPTY_FLOAT_CAL { 0, { { 0, 0f }, } }
 
-typedef int (* chan_cb_t)(RIG *, channel_t **, int, const chan_t *, rig_ptr_t);
+typedef int (* chan_cb_t)(RIG *, vfo_t vfo, channel_t **, int, const chan_t *, rig_ptr_t);
 typedef int (* confval_cb_t)(RIG *,
                              const struct confparams *,
                              value_t *,
@@ -2024,10 +2024,12 @@ struct rig_caps {
     int (*get_chan_all_cb)(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t);
 
     int (*set_mem_all_cb)(RIG *rig,
+                          vfo_t vfo,
                           chan_cb_t chan_cb,
                           confval_cb_t parm_cb,
                           rig_ptr_t);
     int (*get_mem_all_cb)(RIG *rig,
+                          vfo_t vfo,
                           chan_cb_t chan_cb,
                           confval_cb_t parm_cb,
                           rig_ptr_t);
diff --git a/rigs/aor/aor.c b/rigs/aor/aor.c
index ad4331d9..3f69d723 100644
--- a/rigs/aor/aor.c
+++ b/rigs/aor/aor.c
@@ -1364,7 +1364,7 @@ int aor_get_chan_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t arg)
      * future data for channel channel_num
      */
     chan = NULL;
-    retval = chan_cb(rig, &chan, chan_next, chan_list, arg);
+    retval = chan_cb(rig, vfo, &chan, chan_next, chan_list, arg);
 
     if (retval != RIG_OK)
     {
@@ -1414,7 +1414,7 @@ int aor_get_chan_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t arg)
              * provide application with channel data,
              * and ask for a new channel structure
              */
-            chan_cb(rig, &chan, chan_next, chan_list, arg);
+            chan_cb(rig, vfo, &chan, chan_next, chan_list, arg);
 
             if (j >= LINES_PER_MA - 1)
             {
diff --git a/src/mem.c b/src/mem.c
index 8aa51e57..a6d72e59 100644
--- a/src/mem.c
+++ b/src/mem.c
@@ -954,7 +954,7 @@ int get_chan_all_cb_generic(RIG *rig, vfo_t vfo, chan_cb_t chan_cb,
          * future data for channel channel_num
          */
         chan = NULL;
-        retval = chan_cb(rig, &chan, chan_list[i].startc, chan_list, arg);
+        retval = chan_cb(rig, vfo, &chan, chan_list[i].startc, chan_list, arg);
 
         if (retval != RIG_OK)
         {
@@ -995,7 +995,7 @@ int get_chan_all_cb_generic(RIG *rig, vfo_t vfo, chan_cb_t chan_cb,
 
             chan_next = j < chan_list[i].endc ? j + 1 : j;
 
-            chan_cb(rig, &chan, chan_next, chan_list, arg);
+            chan_cb(rig, vfo, &chan, chan_next, chan_list, arg);
         }
     }
 
@@ -1016,7 +1016,7 @@ int set_chan_all_cb_generic(RIG *rig, vfo_t vfo, chan_cb_t chan_cb,
         for (j = chan_list[i].startc; j <= chan_list[i].endc; j++)
         {
 
-            chan_cb(rig, &chan, j, chan_list, arg);
+            chan_cb(rig, vfo, &chan, j, chan_list, arg);
             chan->vfo = RIG_VFO_MEM;
 
             retval = rig_set_channel(rig, vfo, chan);
@@ -1044,6 +1044,7 @@ struct map_all_s
  * chan_cb_t to be used for non cb get/set_all
  */
 static int map_chan(RIG *rig,
+                    vfo_t vfo,
                     channel_t **chan,
                     int channel_num,
                     const chan_t *chan_list,
@@ -1343,7 +1344,7 @@ int HAMLIB_API rig_set_mem_all_cb(RIG *rig,
 
     if (rc->set_mem_all_cb)
     {
-        return rc->set_mem_all_cb(rig, chan_cb, parm_cb, arg);
+        return rc->set_mem_all_cb(rig, vfo, chan_cb, parm_cb, arg);
     }
 
 
@@ -1411,7 +1412,7 @@ int HAMLIB_API rig_get_mem_all_cb(RIG *rig,
 
     if (rc->get_mem_all_cb)
     {
-        return rc->get_mem_all_cb(rig, chan_cb, parm_cb, arg);
+        return rc->get_mem_all_cb(rig, vfo, chan_cb, parm_cb, arg);
     }
 
     /* if not available, emulate it */
@@ -1480,7 +1481,7 @@ int HAMLIB_API rig_set_mem_all(RIG *rig,
     mem_all_arg.vals = (value_t *) vals;
 
     if (rc->set_mem_all_cb)
-        return rc->set_mem_all_cb(rig, map_chan, map_parm,
+        return rc->set_mem_all_cb(rig, vfo, map_chan, map_parm,
                                   (rig_ptr_t)&mem_all_arg);
 
     /* if not available, emulate it */
@@ -1548,7 +1549,7 @@ int HAMLIB_API rig_get_mem_all(RIG *rig,
     mem_all_arg.vals = vals;
 
     if (rc->get_mem_all_cb)
-        return rc->get_mem_all_cb(rig, map_chan, map_parm,
+        return rc->get_mem_all_cb(rig, vfo, map_chan, map_parm,
                                   (rig_ptr_t)&mem_all_arg);
 
     /*
diff --git a/tests/testcaps.sh b/tests/testcaps.sh
new file mode 100755
index 00000000..7032a2ce
--- /dev/null
+++ b/tests/testcaps.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+model=1
+riglist=`rigctl -l | cut -c1-8 | grep -v Rig | tr -d '\n'`
+for model in $riglist
+do
+   result=`rigctl -m $model -u 2>/dev/null | grep warnings`
+#   if [[ "$result" == *"warnings: 0"* ]];then
+       echo $model " " $result
+#   fi
+
+    model=`expr $model + 1`
+done
-- 
2.37.4


From d7edd89a12be134a904d0a3d5fc3e4f68f111c16 Mon Sep 17 00:00:00 2001
From: Mike Black W9MDB <mdblack98@yahoo.com>
Date: Mon, 14 Nov 2022 17:55:25 -0600
Subject: [PATCH 2/2] Fix memcsv.c https://github.com/Hamlib/Hamlib/issues/1149

---
 tests/memcsv.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/memcsv.c b/tests/memcsv.c
index 8a107549..82becbf4 100644
--- a/tests/memcsv.c
+++ b/tests/memcsv.c
@@ -48,6 +48,7 @@ char csv_sep = ','; /* CSV separator */
  * Prototypes
  */
 static int dump_csv_chan(RIG *rig,
+                         vfo_t vfo,
                          channel_t **chan,
                          int channel_num,
                          const chan_t *chan_list,
@@ -552,6 +553,7 @@ void dump_csv_name(const channel_cap_t *mem_caps, FILE *f)
 
 /* Caution! Keep the function consistent with dump_csv_name and set_channel_data! */
 int dump_csv_chan(RIG *rig,
+                  vfo_t vfo,
                   channel_t **chan_pp,
                   int channel_num,
                   const chan_t *chan_list,
-- 
2.37.4