Change sprintf to snprint in jrc

https://github.com/Hamlib/Hamlib/issues/857
pull/928/head
Mike Black W9MDB 2022-01-12 10:39:39 -06:00
rodzic 37ae6d1ca3
commit acf682c498
3 zmienionych plików z 79 dodań i 83 usunięć

Wyświetl plik

@ -289,7 +289,6 @@ int jrc_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
{
struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv;
char freqbuf[BUFSZ];
int freq_len;
if (freq >= (freq_t)pow(10, priv->max_freq_len))
{
@ -298,9 +297,9 @@ int jrc_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
// cppcheck-suppress *
// suppressing bogus cppcheck error in ver 1.90
freq_len = sprintf(freqbuf, "F%0*"PRIll EOM, priv->max_freq_len, (int64_t)freq);
SNPRINTF(freqbuf, sizeof(freqbuf), "F%0*"PRIll EOM, priv->max_freq_len, (int64_t)freq);
return jrc_transaction(rig, freqbuf, freq_len, NULL, NULL);
return jrc_transaction(rig, freqbuf, strlen(freqbuf), NULL, NULL);
}
static int get_current_istate(RIG *rig, char *buf, int *buf_len)
@ -329,8 +328,9 @@ static int get_current_istate(RIG *rig, char *buf, int *buf_len)
int jrc_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
{
struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv;
int freq_len, retval;
int retval;
char freqbuf[BUFSZ];
int freq_len;
//note: JRCs use "I" to get information
retval = get_current_istate(rig, freqbuf, &freq_len);
@ -363,7 +363,7 @@ int jrc_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
int jrc_set_vfo(RIG *rig, vfo_t vfo)
{
unsigned char cmdbuf[16];
int cmd_len, retval;
int retval;
char vfo_function;
switch (vfo)
@ -378,9 +378,9 @@ int jrc_set_vfo(RIG *rig, vfo_t vfo)
return -RIG_EINVAL;
}
cmd_len = sprintf((char *) cmdbuf, "%c" EOM, vfo_function);
SNPRINTF((char *) cmdbuf, sizeof(cmdbuf), "%c" EOM, vfo_function);
retval = jrc_transaction(rig, (char *) cmdbuf, cmd_len, NULL, NULL);
retval = jrc_transaction(rig, (char *) cmdbuf, strlen((char*)cmdbuf), NULL, NULL);
return retval;
}
@ -393,7 +393,7 @@ int jrc_set_vfo(RIG *rig, vfo_t vfo)
int jrc_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
{
char mdbuf[BUFSZ];
int retval, mdbuf_len;
int retval;
char amode, awidth;
retval = rig2jrc_mode(rig, mode, width, &amode, &awidth);
@ -403,8 +403,8 @@ int jrc_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
return retval;
}
mdbuf_len = sprintf(mdbuf, "D" "%c" EOM, amode);
retval = jrc_transaction(rig, mdbuf, mdbuf_len, NULL, NULL);
SNPRINTF(mdbuf, sizeof(mdbuf), "D" "%c" EOM, amode);
retval = jrc_transaction(rig, mdbuf, strlen(mdbuf), NULL, NULL);
if (retval != RIG_OK)
{
@ -413,8 +413,8 @@ int jrc_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
if (width != RIG_PASSBAND_NOCHANGE)
{
mdbuf_len = sprintf(mdbuf, "B" "%c" EOM, awidth);
retval = jrc_transaction(rig, mdbuf, mdbuf_len, NULL, NULL);
SNPRINTF(mdbuf, sizeof(mdbuf), "B" "%c" EOM, awidth);
retval = jrc_transaction(rig, mdbuf, strlen(mdbuf), NULL, NULL);
if (retval != RIG_OK)
{
@ -469,7 +469,6 @@ int jrc_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
*/
int jrc_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
{
int cmd_len;
char cmdbuf[BUFSZ];
/* Optimize:
@ -479,38 +478,38 @@ int jrc_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
{
case RIG_FUNC_FAGC:
/* FIXME: FAGC levels */
cmd_len = sprintf(cmdbuf, "G%d" EOM, status ? 1 : 2);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "G%d" EOM, status ? 1 : 2);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
case RIG_FUNC_NB:
/* FIXME: NB1 and NB2 */
cmd_len = sprintf(cmdbuf, "N%d" EOM, status ? 1 : 0);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "N%d" EOM, status ? 1 : 0);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
/*
* FIXME: which BB mode for NR and BC at same time ?
*/
case RIG_FUNC_NR:
cmd_len = sprintf(cmdbuf, "BB%d" EOM, status ? 1 : 0);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "BB%d" EOM, status ? 1 : 0);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
case RIG_FUNC_BC:
cmd_len = sprintf(cmdbuf, "BB%d" EOM, status ? 2 : 0);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "BB%d" EOM, status ? 2 : 0);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
case RIG_FUNC_LOCK:
cmd_len = sprintf(cmdbuf, "DD%d" EOM, status ? 1 : 0);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "DD%d" EOM, status ? 1 : 0);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
case RIG_FUNC_MN:
cmd_len = sprintf(cmdbuf, "EE%d" EOM, status ? 1 : 0);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "EE%d" EOM, status ? 1 : 0);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
default:
rig_debug(RIG_DEBUG_ERR, "Unsupported set_func %s\n", rig_strfunc(func));
@ -675,7 +674,6 @@ int jrc_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
int jrc_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
{
struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv;
int cmd_len;
char cmdbuf[BUFSZ];
/* Optimize:
@ -684,42 +682,42 @@ int jrc_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
switch (level)
{
case RIG_LEVEL_ATT:
cmd_len = sprintf(cmdbuf, "A%d" EOM, val.i ? 1 : 0);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "A%d" EOM, val.i ? 1 : 0);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
case RIG_LEVEL_RF:
cmd_len = sprintf(cmdbuf, "HH%03d" EOM, (int)(val.f * 255.0));
SNPRINTF(cmdbuf, sizeof(cmdbuf), "HH%03d" EOM, (int)(val.f * 255.0));
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
case RIG_LEVEL_AF:
cmd_len = sprintf(cmdbuf, "JJ%03d" EOM, (int)(val.f * 255.0));
SNPRINTF(cmdbuf, sizeof(cmdbuf), "JJ%03d" EOM, (int)(val.f * 255.0));
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
case RIG_LEVEL_SQL:
cmd_len = sprintf(cmdbuf, "LL%03d" EOM, (int)(val.f * 255.0));
SNPRINTF(cmdbuf, sizeof(cmdbuf), "LL%03d" EOM, (int)(val.f * 255.0));
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
case RIG_LEVEL_NR:
cmd_len = sprintf(cmdbuf, "FF%03d" EOM, (int)(val.f * 255.0));
SNPRINTF(cmdbuf, sizeof(cmdbuf), "FF%03d" EOM, (int)(val.f * 255.0));
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
#if 0
case RIG_LEVEL_TONE:
cmd_len = sprintf(cmdbuf, "KK%03d" EOM, (int)(val.f * 255.0));
SNPRINTF(cmdbuf, sizeof(cmdbuf), "KK%03d" EOM, (int)(val.f * 255.0));
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
#endif
case RIG_LEVEL_NOTCHF:
cmd_len = sprintf(cmdbuf, "GG%+04d" EOM, val.i);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "GG%+04d" EOM, val.i);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
#if 0
@ -729,27 +727,29 @@ int jrc_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
val.i /= 10;
}
cmd_len = sprintf(cmdbuf, "W%0*d" EOM, priv->pbs_len, val.i);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "W%0*d" EOM, priv->pbs_len, val.i);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
#endif
case RIG_LEVEL_AGC:
if (val.i < 10)
cmd_len = sprintf(cmdbuf, "G%d" EOM,
{
snprintf(cmdbuf, sizeof(cmdbuf), "G%d" EOM,
val.i == RIG_AGC_SLOW ? 0 :
val.i == RIG_AGC_FAST ? 1 : 2);
}
else
{
cmd_len = sprintf(cmdbuf, "G3%03d" EOM, val.i / 20);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "G3%03d" EOM, val.i / 20);
}
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
case RIG_LEVEL_CWPITCH:
cmd_len = sprintf(cmdbuf, "%s%+05d" EOM, priv->cw_pitch, val.i);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "%s%+05d" EOM, priv->cw_pitch, val.i);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
case RIG_LEVEL_IF:
if (priv->pbs_len == 3)
@ -757,9 +757,9 @@ int jrc_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
val.i /= 10;
}
cmd_len = sprintf(cmdbuf, "P%+0*d" EOM, priv->pbs_len + 1, val.i);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "P%+0*d" EOM, priv->pbs_len + 1, val.i);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
default:
rig_debug(RIG_DEBUG_ERR, "%s: unsupported set_level %s\n", __func__,
@ -1041,9 +1041,10 @@ int jrc_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
#endif
case RIG_LEVEL_CWPITCH:
cw_len = sprintf(cwbuf, "%s" EOM, priv->cw_pitch);
retval = jrc_transaction(rig, cwbuf, cw_len, lvlbuf, &lvl_len);
SNPRINTF(cwbuf, sizeof(cwbuf), "%s" EOM, priv->cw_pitch);
cw_len = strlen(cwbuf);
retval = jrc_transaction(rig, cwbuf, strlen(cwbuf), lvlbuf, &lvl_len);
if (retval != RIG_OK)
{
@ -1103,7 +1104,6 @@ int jrc_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
int jrc_set_parm(RIG *rig, setting_t parm, value_t val)
{
struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv;
int cmd_len;
char cmdbuf[BUFSZ];
int minutes;
@ -1113,23 +1113,23 @@ int jrc_set_parm(RIG *rig, setting_t parm, value_t val)
switch (parm)
{
case RIG_PARM_BACKLIGHT:
cmd_len = sprintf(cmdbuf, "AA%d" EOM, val.f > 0.5 ? 0 : 1);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "AA%d" EOM, val.f > 0.5 ? 0 : 1);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
case RIG_PARM_BEEP:
cmd_len = sprintf(cmdbuf, "U%0*d" EOM, priv->beep_len,
SNPRINTF(cmdbuf, sizeof(cmdbuf), "U%0*d" EOM, priv->beep_len,
(priv->beep + val.i) ? 1 : 0);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
case RIG_PARM_TIME:
minutes = val.i / 60;
cmd_len = sprintf(cmdbuf, "R1%02d%02d" EOM,
SNPRINTF(cmdbuf, sizeof(cmdbuf), "R1%02d%02d" EOM,
minutes / 60, minutes % 60);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
default:
rig_debug(RIG_DEBUG_ERR, "%s: unsupported set_parm %s\n", __func__,
@ -1150,7 +1150,6 @@ int jrc_get_parm(RIG *rig, setting_t parm, value_t *val)
int retval, lvl_len, i;
char lvlbuf[BUFSZ];
char cmdbuf[BUFSZ];
int cmd_len;
/* Optimize:
* sort the switch cases with the most frequent first
@ -1185,8 +1184,8 @@ int jrc_get_parm(RIG *rig, setting_t parm, value_t *val)
break;
case RIG_PARM_BEEP:
cmd_len = sprintf(cmdbuf, "U%d" EOM, priv->beep / 10);
retval = jrc_transaction(rig, cmdbuf, cmd_len, lvlbuf, &lvl_len);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "U%d" EOM, priv->beep / 10);
retval = jrc_transaction(rig, cmdbuf, strlen(cmdbuf), lvlbuf, &lvl_len);
if (retval != RIG_OK)
{
@ -1263,11 +1262,10 @@ int jrc_set_trn(RIG *rig, int trn)
int jrc_set_powerstat(RIG *rig, powerstat_t status)
{
char pwrbuf[BUFSZ];
int pwr_len;
pwr_len = sprintf(pwrbuf, "T%d" EOM, status == RIG_POWER_ON ? 1 : 0);
SNPRINTF(pwrbuf, sizeof(pwrbuf), "T%d" EOM, status == RIG_POWER_ON ? 1 : 0);
return jrc_transaction(rig, pwrbuf, pwr_len, NULL, NULL);
return jrc_transaction(rig, pwrbuf, strlen(pwrbuf), NULL, NULL);
}
/*
@ -1317,7 +1315,6 @@ int jrc_get_powerstat(RIG *rig, powerstat_t *status)
int jrc_reset(RIG *rig, reset_t reset)
{
char rstbuf[BUFSZ];
int rst_len;
char rst;
switch (reset)
@ -1334,9 +1331,9 @@ int jrc_reset(RIG *rig, reset_t reset)
return -RIG_EINVAL;
}
rst_len = sprintf(rstbuf, "Z%c" EOM, rst);
SNPRINTF(rstbuf, sizeof(rstbuf), "Z%c" EOM, rst);
return jrc_transaction(rig, rstbuf, rst_len, NULL, NULL);
return jrc_transaction(rig, rstbuf, strlen(rstbuf), NULL, NULL);
}
/*
@ -1347,18 +1344,18 @@ int jrc_set_mem(RIG *rig, vfo_t vfo, int ch)
{
char cmdbuf[BUFSZ];
char membuf[BUFSZ];
int cmd_len, mem_len;
int mem_len;
if (ch < 0 || ch > rig->caps->chan_list[0].endc)
{
return -RIG_EINVAL;
}
cmd_len = sprintf(cmdbuf, "C%03d" EOM, ch);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "C%03d" EOM, ch);
/* don't care about the Automatic response from receiver */
return jrc_transaction(rig, cmdbuf, cmd_len, membuf, &mem_len);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), membuf, &mem_len);
}
/*
@ -1404,7 +1401,7 @@ int jrc_set_chan(RIG *rig, vfo_t vfo, const channel_t *chan)
{
struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv;
char cmdbuf[BUFSZ];
int retval, cmd_len;
int retval;
rmode_t mode;
pbwidth_t width;
channel_t current;
@ -1414,7 +1411,7 @@ int jrc_set_chan(RIG *rig, vfo_t vfo, const channel_t *chan)
if ((retval = jrc_get_chan(rig, vfo, &current, 1)) != RIG_OK) { return retval; }
sprintf(cmdbuf, "K%03d000", chan->channel_num);
SNPRINTF(cmdbuf, sizeof(cmdbuf), "K%03d000", chan->channel_num);
if (chan->levels[rig_setting2idx(RIG_LEVEL_ATT)].i == 20)
{
@ -1435,7 +1432,7 @@ int jrc_set_chan(RIG *rig, vfo_t vfo, const channel_t *chan)
return retval;
}
sprintf(cmdbuf + 7, "%0*"PRIll, priv->max_freq_len, (int64_t)chan->freq);
SNPRINTF(cmdbuf + 7, sizeof(cmdbuf)-7, "%0*"PRIll, priv->max_freq_len, (int64_t)chan->freq);
if (priv->mem_len == 17)
{
@ -1452,12 +1449,11 @@ int jrc_set_chan(RIG *rig, vfo_t vfo, const channel_t *chan)
}
else
{
sprintf(cmdbuf + priv->mem_len - 4, "%03d",
SNPRINTF(cmdbuf + priv->mem_len - 4, sizeof(cmdbuf)-(priv->mem_len - 4), "%03d",
chan->levels[rig_setting2idx(RIG_LEVEL_AGC)].i);
}
cmd_len = priv->mem_len;
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL);
return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
}
/*
@ -1468,7 +1464,7 @@ int jrc_get_chan(RIG *rig, vfo_t vfo, channel_t *chan, int read_only)
{
struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv;
char membuf[BUFSZ], cmdbuf[BUFSZ];
int mem_len, cmd_len, retval;
int mem_len, retval;
chan->vfo = RIG_VFO_MEM;
chan->ant = RIG_ANT_NONE;
@ -1496,9 +1492,9 @@ int jrc_get_chan(RIG *rig, vfo_t vfo, channel_t *chan, int read_only)
chan->flags = RIG_CHFLAG_SKIP;
strcpy(chan->channel_desc, "");
cmd_len = sprintf(cmdbuf, "L%03d%03d" EOM, chan->channel_num,
SNPRINTF(cmdbuf, sizeof(cmdbuf), "L%03d%03d" EOM, chan->channel_num,
chan->channel_num);
retval = jrc_transaction(rig, cmdbuf, cmd_len, membuf, &mem_len);
retval = jrc_transaction(rig, cmdbuf, strlen(cmdbuf), membuf, &mem_len);
if (retval != RIG_OK)
{

Wyświetl plik

@ -551,7 +551,7 @@ static int jst145_set_mem(RIG *rig, vfo_t vfo, int ch)
{
char membuf[MAX_LEN];
sprintf(membuf, "C%03d\r", ch);
SNPRINTF(membuf, sizeof(membuf), "C%03d\r", ch);
return write_block(&rig->state.rigport, (unsigned char *) membuf, strlen(membuf));
}

Wyświetl plik

@ -167,7 +167,7 @@ static int nrd525_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
{
char freqbuf[12];
sprintf(freqbuf, "F%08u", (unsigned)(freq / 10));
SNPRINTF(freqbuf, sizeof(freqbuf), "F%08u", (unsigned)(freq / 10));
return write_block(&rig->state.rigport, (unsigned char *) freqbuf, strlen(freqbuf));
}
@ -237,7 +237,7 @@ static int nrd525_set_mem(RIG *rig, vfo_t vfo, int ch)
{
char membuf[12];
sprintf(membuf, "C%03d", ch);
SNPRINTF(membuf, sizeof(membuf), "C%03d", ch);
return write_block(&rig->state.rigport, (unsigned char *) membuf, strlen(membuf));
}