Skip to content

Commit d4d3d70

Browse files
committed
fix types for sdm_send() invocations
1 parent b4c3041 commit d4d3d70

File tree

2 files changed

+24
-39
lines changed

2 files changed

+24
-39
lines changed

lib/libsdm/sdm.c

Lines changed: 17 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ int sdm_send(sdm_session_t *ss, int cmd_code, ...)
166166
va_list ap;
167167
int n;
168168
char *data;
169-
int data_len = 0;
169+
uint32_t data_len = 0;
170170
char *cmd_raw;
171171
sdm_pkt_t *cmd;
172172

@@ -178,19 +178,18 @@ int sdm_send(sdm_session_t *ss, int cmd_code, ...)
178178
cmd->magic = SDM_PKG_MAGIC;
179179
cmd->cmd = cmd_code;
180180

181+
va_start (ap, cmd_code);
181182
switch (cmd_code) {
182183
case SDM_CMD_STOP:
183184
case SDM_CMD_SYSTIME:
184185
break;
185186
case SDM_CMD_CONFIG: {
186187
uint16_t preamp_gain;
187188

188-
va_start(ap, cmd_code);
189-
cmd->threshold = va_arg(ap, int);
190-
cmd->gain_and_srclvl = va_arg(ap, int) << 7;
191-
cmd->gain_and_srclvl |= va_arg(ap, int);
192-
preamp_gain = (va_arg(ap, int) & 0xf) << 12;
193-
va_end(ap);
189+
cmd->threshold = va_arg(ap, unsigned);
190+
cmd->gain_and_srclvl = va_arg(ap, unsigned) << 7;
191+
cmd->gain_and_srclvl |= va_arg(ap, unsigned);
192+
preamp_gain = (va_arg(ap, unsigned) & 0xf) << 12;
194193
data_len = cmd->data_len = 1;
195194
cmd_raw = realloc(cmd_raw, SDM_PKT_T_SIZE + cmd->data_len * 2);
196195
memcpy(&cmd_raw[SDM_PKT_T_OFFSET_DATA], &preamp_gain, 2);
@@ -201,12 +200,10 @@ int sdm_send(sdm_session_t *ss, int cmd_code, ...)
201200
uint32_t delay, samples;
202201
uint32_t gain, sample_rate;
203202

204-
va_start(ap, cmd_code);
205-
delay = va_arg(ap, int);
206-
samples = va_arg(ap, int);
207-
gain = va_arg(ap, int);
208-
sample_rate = va_arg(ap, int);
209-
va_end(ap);
203+
delay = va_arg(ap, unsigned);
204+
samples = va_arg(ap, unsigned);
205+
gain = va_arg(ap, unsigned);
206+
sample_rate = va_arg(ap, unsigned);
210207

211208
cmd->rx_len = (gain << 4) + (sample_rate << 1);
212209

@@ -218,64 +215,50 @@ int sdm_send(sdm_session_t *ss, int cmd_code, ...)
218215
break;
219216
}
220217
case SDM_CMD_TX_CONTINUE:
221-
va_start(ap, cmd_code);
222218
va_arg(ap, unsigned);
223219
data = va_arg(ap, char *);
224220
data_len = va_arg(ap, int);
225-
va_end(ap);
226221
break;
227222
case SDM_CMD_TX:
228223
{
229224
char *d;
230225

231-
va_start(ap, cmd_code);
232-
233226
cmd->data_len = va_arg(ap, unsigned);
234227
d = va_arg(ap, char *);
235-
data_len = va_arg(ap, int);
228+
data_len = va_arg(ap, unsigned);
236229

237230
/* FIXME: quick fix. Padding up to 1024 samples here */
238231
cmd->data_len = ((cmd->data_len + 1023) / 1024) * 1024;
239232
cmd_raw = realloc(cmd_raw, SDM_PKT_T_SIZE + data_len * 2);
240233
memcpy(&cmd_raw[SDM_PKT_T_OFFSET_DATA], d, data_len * 2);
241-
242-
va_end(ap);
243234
break;
244235
}
245236
case SDM_CMD_REF:
246237
{
247238
char *d;
248239

249-
va_start(ap, cmd_code);
250-
251240
d = va_arg(ap, char *);
252-
data_len = va_arg(ap, int);
241+
data_len = va_arg(ap, unsigned);
253242
cmd->data_len = data_len;
254243

255244
cmd_raw = realloc(cmd_raw, SDM_PKT_T_SIZE + data_len * 2);
256245
memset(&cmd_raw[SDM_PKT_T_OFFSET_DATA], 0, data_len * 2);
257246
memcpy(&cmd_raw[SDM_PKT_T_OFFSET_DATA], d, data_len * 2);
258-
259-
va_end(ap);
260247
break;
261248
}
262249
case SDM_CMD_RX:
263250
case SDM_CMD_RX_JANUS:
264251
{
265-
va_start(ap, cmd_code);
266-
cmd->rx_len = va_arg(ap, int) & 0xffffff;
267-
va_end(ap);
252+
cmd->rx_len = va_arg(ap, unsigned long) & 0xffffff;
268253
break;
269254
}
270255
case SDM_CMD_USBL_RX:
271256
{
272257
uint8_t channel;
273258
uint16_t samples;
274259

275-
va_start(ap, cmd_code);
276-
channel = va_arg(ap, int);
277-
samples = va_arg(ap, int);
278-
va_end(ap);
260+
channel = va_arg(ap, unsigned);
261+
samples = va_arg(ap, unsigned);
279262

280263
cmd->rx_len = samples + (channel << 21);
281264
break;
@@ -286,6 +269,8 @@ int sdm_send(sdm_session_t *ss, int cmd_code, ...)
286269
return -1;
287270
}
288271

272+
va_end (ap);
273+
289274
if (cmd_code == SDM_CMD_TX_CONTINUE) {
290275
if (data_len) {
291276
logger(TRACE_LOG, "tx cmd continue: %d samples \n", data_len);

sdmsh_commands.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ int sdmsh_cmd_config(struct shell_config *sc, char *argv[], int argc)
8282
if (argc == 5) {
8383
SDM_CHECK_STR_ARG_LONG("config: preamp gain", argv[4], preamp_gain, arg >= 0 && arg <= 13);
8484
}
85-
sdm_send(ss, SDM_CMD_CONFIG, threshold, gain, srclvl, preamp_gain);
85+
sdm_send(ss, SDM_CMD_CONFIG, (unsigned)threshold, (unsigned)gain, (unsigned)srclvl, (unsigned)preamp_gain);
8686
sdm_set_idle_state(ss);
8787

8888
return 0;
@@ -100,7 +100,7 @@ int sdmsh_cmd_usbl_config(struct shell_config *sc, char *argv[], int argc)
100100
SDM_CHECK_STR_ARG_LONG("usbl_config: gain", argv[3], gain, arg >= 0 && arg <= 13);
101101
SDM_CHECK_STR_ARG_LONG("usbl_config: sample_rate", argv[4], sample_rate, arg >= 0 && arg <= 6);
102102

103-
sdm_send(ss, SDM_CMD_USBL_CONFIG, delay, samples, gain, sample_rate);
103+
sdm_send(ss, SDM_CMD_USBL_CONFIG, (unsigned)delay, (unsigned)samples, (unsigned)gain, (unsigned)sample_rate);
104104
sdm_set_idle_state(ss);
105105

106106
return 0;
@@ -162,7 +162,7 @@ int sdmsh_cmd_ref(struct shell_config *sc, char *argv[], int argc)
162162
}
163163

164164
/* DUMP2LOG(ERR_LOG, (char *)data, len*2); */
165-
rc = sdm_send(ss, SDM_CMD_REF, data, len);
165+
rc = sdm_send(ss, SDM_CMD_REF, data, (unsigned)len);
166166
}
167167

168168
stream_close(stream);
@@ -235,11 +235,11 @@ int sdmsh_cmd_tx(struct shell_config *sc, char *argv[], int argc)
235235
logger(DATA_LOG, "tx data %d / %d / %d samples \r", nsamples, len, passed);
236236

237237
if (cnt == len && nsamples >= 1024) {
238-
rc = sdm_send(ss, cmd, nsamples, data, len);
238+
rc = sdm_send(ss, cmd, (unsigned)nsamples, data, (unsigned)len);
239239
passed += len;
240240
} else if (cnt > 0) {
241241
memset(&data[cnt], 0, (len - cnt) * 2);
242-
rc = sdm_send(ss, cmd, nsamples, data, 1024 * ((cnt + 1023) / 1024));
242+
rc = sdm_send(ss, cmd, (unsigned)nsamples, data, (unsigned)(1024 * ((cnt + 1023) / 1024)));
243243
passed += 1024 * ((cnt + 1023) / 1024);
244244
} else {
245245
rc = -1;
@@ -301,7 +301,7 @@ int sdmsh_cmd_rx_helper(struct shell_config *sc, char *argv[], int argc, int cod
301301
return -1;
302302
}
303303

304-
sdm_send(ss, code, nsamples);
304+
sdm_send(ss, code, (unsigned long)nsamples);
305305
/* rl_message("Waiting for receiving %ld samples to file %s\n", nsamples, ss->filename); */
306306

307307
return 0;
@@ -340,7 +340,7 @@ int sdmsh_cmd_usbl_rx(struct shell_config *sc, char *argv[], int argc)
340340
logger(ERR_LOG, "usbl_rx: error %s\n", stream_strerror(stream));
341341
return -1;
342342
}
343-
sdm_send(ss, SDM_CMD_USBL_RX, channel, samples);
343+
sdm_send(ss, SDM_CMD_USBL_RX, (unsigned)channel, (unsigned)samples);
344344

345345
return 0;
346346
}

0 commit comments

Comments
 (0)