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; struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv;
char freqbuf[BUFSZ]; char freqbuf[BUFSZ];
int freq_len;
if (freq >= (freq_t)pow(10, priv->max_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 * // cppcheck-suppress *
// suppressing bogus cppcheck error in ver 1.90 // 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) 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) int jrc_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
{ {
struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv; struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv;
int freq_len, retval; int retval;
char freqbuf[BUFSZ]; char freqbuf[BUFSZ];
int freq_len;
//note: JRCs use "I" to get information //note: JRCs use "I" to get information
retval = get_current_istate(rig, freqbuf, &freq_len); 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) int jrc_set_vfo(RIG *rig, vfo_t vfo)
{ {
unsigned char cmdbuf[16]; unsigned char cmdbuf[16];
int cmd_len, retval; int retval;
char vfo_function; char vfo_function;
switch (vfo) switch (vfo)
@ -378,9 +378,9 @@ int jrc_set_vfo(RIG *rig, vfo_t vfo)
return -RIG_EINVAL; 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; 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) int jrc_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
{ {
char mdbuf[BUFSZ]; char mdbuf[BUFSZ];
int retval, mdbuf_len; int retval;
char amode, awidth; char amode, awidth;
retval = rig2jrc_mode(rig, mode, width, &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; return retval;
} }
mdbuf_len = sprintf(mdbuf, "D" "%c" EOM, amode); SNPRINTF(mdbuf, sizeof(mdbuf), "D" "%c" EOM, amode);
retval = jrc_transaction(rig, mdbuf, mdbuf_len, NULL, NULL); retval = jrc_transaction(rig, mdbuf, strlen(mdbuf), NULL, NULL);
if (retval != RIG_OK) 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) if (width != RIG_PASSBAND_NOCHANGE)
{ {
mdbuf_len = sprintf(mdbuf, "B" "%c" EOM, awidth); SNPRINTF(mdbuf, sizeof(mdbuf), "B" "%c" EOM, awidth);
retval = jrc_transaction(rig, mdbuf, mdbuf_len, NULL, NULL); retval = jrc_transaction(rig, mdbuf, strlen(mdbuf), NULL, NULL);
if (retval != RIG_OK) 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 jrc_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
{ {
int cmd_len;
char cmdbuf[BUFSZ]; char cmdbuf[BUFSZ];
/* Optimize: /* Optimize:
@ -479,38 +478,38 @@ int jrc_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
{ {
case RIG_FUNC_FAGC: case RIG_FUNC_FAGC:
/* FIXME: FAGC levels */ /* 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: case RIG_FUNC_NB:
/* FIXME: NB1 and NB2 */ /* 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 ? * FIXME: which BB mode for NR and BC at same time ?
*/ */
case RIG_FUNC_NR: 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: 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: 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: 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: default:
rig_debug(RIG_DEBUG_ERR, "Unsupported set_func %s\n", rig_strfunc(func)); 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) 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; struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv;
int cmd_len;
char cmdbuf[BUFSZ]; char cmdbuf[BUFSZ];
/* Optimize: /* Optimize:
@ -684,42 +682,42 @@ int jrc_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
switch (level) switch (level)
{ {
case RIG_LEVEL_ATT: 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: 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: 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: 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: 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 #if 0
case RIG_LEVEL_TONE: 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 #endif
case RIG_LEVEL_NOTCHF: 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 #if 0
@ -729,27 +727,29 @@ int jrc_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
val.i /= 10; 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 #endif
case RIG_LEVEL_AGC: case RIG_LEVEL_AGC:
if (val.i < 10) 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_SLOW ? 0 :
val.i == RIG_AGC_FAST ? 1 : 2); val.i == RIG_AGC_FAST ? 1 : 2);
}
else 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: 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: case RIG_LEVEL_IF:
if (priv->pbs_len == 3) 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; 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: default:
rig_debug(RIG_DEBUG_ERR, "%s: unsupported set_level %s\n", __func__, 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 #endif
case RIG_LEVEL_CWPITCH: case RIG_LEVEL_CWPITCH:
cw_len = sprintf(cwbuf, "%s" EOM, priv->cw_pitch); SNPRINTF(cwbuf, sizeof(cwbuf), "%s" EOM, priv->cw_pitch);
cw_len = strlen(cwbuf);
retval = jrc_transaction(rig, cwbuf, cw_len, lvlbuf, &lvl_len); retval = jrc_transaction(rig, cwbuf, strlen(cwbuf), lvlbuf, &lvl_len);
if (retval != RIG_OK) 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) int jrc_set_parm(RIG *rig, setting_t parm, value_t val)
{ {
struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv; struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv;
int cmd_len;
char cmdbuf[BUFSZ]; char cmdbuf[BUFSZ];
int minutes; int minutes;
@ -1113,23 +1113,23 @@ int jrc_set_parm(RIG *rig, setting_t parm, value_t val)
switch (parm) switch (parm)
{ {
case RIG_PARM_BACKLIGHT: 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: 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); (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: case RIG_PARM_TIME:
minutes = val.i / 60; minutes = val.i / 60;
cmd_len = sprintf(cmdbuf, "R1%02d%02d" EOM, SNPRINTF(cmdbuf, sizeof(cmdbuf), "R1%02d%02d" EOM,
minutes / 60, minutes % 60); minutes / 60, minutes % 60);
return jrc_transaction(rig, cmdbuf, cmd_len, NULL, NULL); return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
default: default:
rig_debug(RIG_DEBUG_ERR, "%s: unsupported set_parm %s\n", __func__, 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; int retval, lvl_len, i;
char lvlbuf[BUFSZ]; char lvlbuf[BUFSZ];
char cmdbuf[BUFSZ]; char cmdbuf[BUFSZ];
int cmd_len;
/* Optimize: /* Optimize:
* sort the switch cases with the most frequent first * 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; break;
case RIG_PARM_BEEP: case RIG_PARM_BEEP:
cmd_len = sprintf(cmdbuf, "U%d" EOM, priv->beep / 10); SNPRINTF(cmdbuf, sizeof(cmdbuf), "U%d" EOM, priv->beep / 10);
retval = jrc_transaction(rig, cmdbuf, cmd_len, lvlbuf, &lvl_len); retval = jrc_transaction(rig, cmdbuf, strlen(cmdbuf), lvlbuf, &lvl_len);
if (retval != RIG_OK) 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) int jrc_set_powerstat(RIG *rig, powerstat_t status)
{ {
char pwrbuf[BUFSZ]; 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) int jrc_reset(RIG *rig, reset_t reset)
{ {
char rstbuf[BUFSZ]; char rstbuf[BUFSZ];
int rst_len;
char rst; char rst;
switch (reset) switch (reset)
@ -1334,9 +1331,9 @@ int jrc_reset(RIG *rig, reset_t reset)
return -RIG_EINVAL; 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 cmdbuf[BUFSZ];
char membuf[BUFSZ]; char membuf[BUFSZ];
int cmd_len, mem_len; int mem_len;
if (ch < 0 || ch > rig->caps->chan_list[0].endc) if (ch < 0 || ch > rig->caps->chan_list[0].endc)
{ {
return -RIG_EINVAL; 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 */ /* 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; struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv;
char cmdbuf[BUFSZ]; char cmdbuf[BUFSZ];
int retval, cmd_len; int retval;
rmode_t mode; rmode_t mode;
pbwidth_t width; pbwidth_t width;
channel_t current; 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; } 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) 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; 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) if (priv->mem_len == 17)
{ {
@ -1452,12 +1449,11 @@ int jrc_set_chan(RIG *rig, vfo_t vfo, const channel_t *chan)
} }
else 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); chan->levels[rig_setting2idx(RIG_LEVEL_AGC)].i);
} }
cmd_len = priv->mem_len; return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL);
return jrc_transaction(rig, cmdbuf, cmd_len, 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; struct jrc_priv_caps *priv = (struct jrc_priv_caps *)rig->caps->priv;
char membuf[BUFSZ], cmdbuf[BUFSZ]; char membuf[BUFSZ], cmdbuf[BUFSZ];
int mem_len, cmd_len, retval; int mem_len, retval;
chan->vfo = RIG_VFO_MEM; chan->vfo = RIG_VFO_MEM;
chan->ant = RIG_ANT_NONE; 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; chan->flags = RIG_CHFLAG_SKIP;
strcpy(chan->channel_desc, ""); 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); 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) 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]; 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)); 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]; 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)); 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]; 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)); return write_block(&rig->state.rigport, (unsigned char *) membuf, strlen(membuf));
} }