From be16de711ce38ede5f003095fd08659be585de29 Mon Sep 17 00:00:00 2001 From: Mike Black W9MDB Date: Thu, 13 Jan 2022 23:40:35 -0600 Subject: [PATCH] Change sprintf to snprint in ar https://github.com/Hamlib/Hamlib/issues/857 --- rigs/aor/aor.c | 74 +++++++++++++++++++++++------------------------ rigs/aor/ar2700.c | 7 +++-- rigs/aor/ar3000.c | 30 +++++++++---------- rigs/aor/ar3030.c | 32 ++++++++++---------- rigs/aor/ar5000.c | 10 ++++--- rigs/aor/sr2200.c | 37 ++++++++++++------------ 6 files changed, 95 insertions(+), 95 deletions(-) diff --git a/rigs/aor/aor.c b/rigs/aor/aor.c index 704347bce..7fbd6e0e2 100644 --- a/rigs/aor/aor.c +++ b/rigs/aor/aor.c @@ -154,7 +154,7 @@ int aor_close(RIG *rig) return write_block(&rig->state.rigport, (unsigned char *) "EX" EOM, 3); } -static int format_freq(char *buf, freq_t freq) +static int format_freq(char *buf, int buf_len, freq_t freq) { int lowhz; int64_t f = (int64_t)freq; @@ -182,7 +182,8 @@ static int format_freq(char *buf, freq_t freq) f = f * 100 + lowhz; // cppcheck-suppress * - return sprintf(buf, "RF%010"PRIll, f); + SNPRINTF(buf, buf_len, "RF%010"PRIll, f); + return strlen(buf); } /* @@ -194,7 +195,7 @@ int aor_set_freq(RIG *rig, vfo_t vfo, freq_t freq) char freqbuf[BUFSZ]; int freq_len; - freq_len = format_freq(freqbuf, freq); + freq_len = format_freq(freqbuf, sizeof(freqbuf), freq); strcpy(freqbuf + freq_len, EOM); freq_len += strlen(EOM); @@ -354,7 +355,7 @@ int aor_get_vfo(RIG *rig, vfo_t *vfo) return RIG_OK; } -int format8k_mode(RIG *rig, char *buf, rmode_t mode, pbwidth_t width) +int format8k_mode(RIG *rig, char *buf, int buf_len, rmode_t mode, pbwidth_t width) { int aormode; @@ -430,7 +431,8 @@ int format8k_mode(RIG *rig, char *buf, rmode_t mode, pbwidth_t width) return -RIG_EINVAL; } - return sprintf(buf, "MD%c", aormode); + SNPRINTF(buf, buf_len, "MD%c", aormode); + return strlen(buf); } /* @@ -444,7 +446,7 @@ int aor_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) char mdbuf2[16] = ""; int mdbuf2_len, retval; - if (priv->format_mode(rig, mdbuf, mode, width) <= 0) + if (priv->format_mode(rig, mdbuf, sizeof(mdbuf), mode, width) <= 0) { rig_debug(RIG_DEBUG_ERR, "%s: format_mode=%s failed?\n", __func__, rig_strrmode(mode)); @@ -599,15 +601,14 @@ int aor_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) int aor_set_ts(RIG *rig, vfo_t vfo, shortfreq_t ts) { char tsbuf[BUFSZ]; - int ts_len; /* * actually, tuning step must be like nnnnm0, * where m must be 0 or 5 (for 50Hz). */ - ts_len = sprintf(tsbuf, "ST%06ld" EOM, ts); + SNPRINTF(tsbuf, sizeof(tsbuf), "ST%06ld" EOM, ts); - return aor_transaction(rig, tsbuf, ts_len, NULL, NULL); + return aor_transaction(rig, tsbuf, strlen(tsbuf), NULL, NULL); } @@ -619,7 +620,6 @@ int aor_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { struct rig_state *rs; char lvlbuf[BUFSZ]; - int lvl_len; int agc; rs = &rig->state; @@ -649,7 +649,7 @@ int aor_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) return -RIG_EINVAL; } - lvl_len = sprintf(lvlbuf, "AT%u" EOM, att); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AT%u" EOM, att); break; } @@ -666,7 +666,7 @@ int aor_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) default: agc = 'F'; } - lvl_len = sprintf(lvlbuf, "AC%c" EOM, agc); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AC%c" EOM, agc); break; default: @@ -674,7 +674,7 @@ int aor_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) return -RIG_EINVAL; } - return aor_transaction(rig, lvlbuf, lvl_len, NULL, NULL); + return aor_transaction(rig, lvlbuf, strlen(lvlbuf), NULL, NULL); } /* @@ -685,22 +685,22 @@ int aor_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) { struct rig_state *rs; char lvlbuf[BUFSZ], ackbuf[BUFSZ]; - int lvl_len, ack_len, retval; + int ack_len, retval; rs = &rig->state; switch (level) { case RIG_LEVEL_RAWSTR: - lvl_len = sprintf(lvlbuf, "LM" EOM); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "LM" EOM); break; case RIG_LEVEL_ATT: - lvl_len = sprintf(lvlbuf, "AT" EOM); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AT" EOM); break; case RIG_LEVEL_AGC: /* AR5000 & AR5000A */ - lvl_len = sprintf(lvlbuf, "AC" EOM); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AC" EOM); break; default: @@ -708,7 +708,7 @@ int aor_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) return -RIG_EINVAL; } - retval = aor_transaction(rig, lvlbuf, lvl_len, ackbuf, &ack_len); + retval = aor_transaction(rig, lvlbuf, strlen(lvlbuf), ackbuf, &ack_len); if (retval != RIG_OK) { @@ -946,7 +946,6 @@ int aor_set_mem(RIG *rig, vfo_t vfo, int ch) { struct aor_priv_caps *priv = (struct aor_priv_caps *)rig->caps->priv; char membuf[BUFSZ]; - int mem_len; int mem_num; char bank_base; @@ -967,10 +966,10 @@ int aor_set_mem(RIG *rig, vfo_t vfo, int ch) bank_base = priv->bank_base1; } - mem_len = sprintf(membuf, "MR%c%02d" EOM, + SNPRINTF(membuf, sizeof(membuf), "MR%c%02d" EOM, bank_base + ch / 100, mem_num); - return aor_transaction(rig, membuf, mem_len, NULL, NULL); + return aor_transaction(rig, membuf, strlen(membuf), NULL, NULL); } /* @@ -1022,12 +1021,11 @@ int aor_set_bank(RIG *rig, vfo_t vfo, int bank) { struct aor_priv_caps *priv = (struct aor_priv_caps *)rig->caps->priv; char membuf[BUFSZ]; - int mem_len; - mem_len = sprintf(membuf, "MR%c" EOM, (bank % 10) + (bank < 10 ? + SNPRINTF(membuf, sizeof(membuf), "MR%c" EOM, (bank % 10) + (bank < 10 ? priv->bank_base1 : priv->bank_base2)); - return aor_transaction(rig, membuf, mem_len, NULL, NULL); + return aor_transaction(rig, membuf, strlen(membuf), NULL, NULL); } @@ -1037,20 +1035,20 @@ int aor_set_channel(RIG *rig, vfo_t vfo, const channel_t *chan) char aorcmd[BUFSZ]; int cmd_len; - cmd_len = sprintf(aorcmd, "MX%c%02d ", + cmd_len = snprintf(aorcmd, sizeof(aorcmd), "MX%c%02d ", chan->bank_num, chan->channel_num % 100); - cmd_len += format_freq(aorcmd + cmd_len, chan->freq); + cmd_len += format_freq(aorcmd + cmd_len, sizeof(aorcmd) - cmd_len, chan->freq); /* * FIXME: automode */ - cmd_len += sprintf(aorcmd + cmd_len, " AU%d ST%06d ", + cmd_len += snprintf(aorcmd + cmd_len, sizeof(aorcmd) - cmd_len, " AU%d ST%06d ", 0, (int)chan->tuning_step); - cmd_len += priv->format_mode(rig, aorcmd + cmd_len, chan->mode, chan->width); + cmd_len += priv->format_mode(rig, aorcmd + cmd_len, sizeof(aorcmd) - cmd_len, chan->mode, chan->width); - cmd_len += sprintf(aorcmd + cmd_len, " AT%d TM%12s%s", + cmd_len += snprintf(aorcmd + cmd_len, sizeof(aorcmd) - cmd_len, " AT%d TM%12s%s", chan->levels[LVL_ATT].i ? 1 : 0, chan->channel_desc, EOM); return aor_transaction(rig, aorcmd, cmd_len, NULL, NULL); @@ -1246,7 +1244,7 @@ int aor_get_channel(RIG *rig, vfo_t vfo, channel_t *chan, int read_only) { struct aor_priv_caps *priv = (struct aor_priv_caps *)rig->caps->priv; char aorcmd[BUFSZ]; - int cmd_len, chan_len; + int chan_len; char chanbuf[BUFSZ]; int retval; channel_cap_t *mem_caps = NULL; @@ -1305,9 +1303,9 @@ int aor_get_channel(RIG *rig, vfo_t vfo, channel_t *chan, int read_only) bank_base = priv->bank_base1; } - cmd_len = sprintf(aorcmd, "MR%c%02d" EOM, + SNPRINTF(aorcmd, sizeof(aorcmd), "MR%c%02d" EOM, bank_base + channel_num / 100, mem_num); - retval = aor_transaction(rig, aorcmd, cmd_len, chanbuf, &chan_len); + retval = aor_transaction(rig, aorcmd, strlen(aorcmd), chanbuf, &chan_len); /* is the channel empty? */ if (retval == -RIG_EPROTO && chanbuf[0] == '?') @@ -1322,8 +1320,8 @@ int aor_get_channel(RIG *rig, vfo_t vfo, channel_t *chan, int read_only) } } - cmd_len = sprintf(aorcmd, "RX" EOM); - retval = aor_transaction(rig, aorcmd, cmd_len, chanbuf, &chan_len); + SNPRINTF(aorcmd, sizeof(aorcmd), "RX" EOM); + retval = aor_transaction(rig, aorcmd, strlen(aorcmd), chanbuf, &chan_len); if (retval != RIG_OK) { @@ -1356,7 +1354,7 @@ int aor_get_chan_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t arg) channel_t *chan; int chan_count; char aorcmd[BUFSZ]; - int cmd_len, chan_len; + int chan_len; char chanbuf[BUFSZ]; int chan_next = chan_list[0].startc; @@ -1381,13 +1379,13 @@ int aor_get_chan_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t arg) return -RIG_ENOMEM; } - cmd_len = sprintf(aorcmd, "MA%c" EOM, + SNPRINTF(aorcmd, sizeof(aorcmd), "MA%c" EOM, priv->bank_base1); for (i = 0; i < chan_count / LINES_PER_MA; i++) { - retval = aor_transaction(rig, aorcmd, cmd_len, chanbuf, &chan_len); + retval = aor_transaction(rig, aorcmd, strlen(aorcmd), chanbuf, &chan_len); if (retval != RIG_OK) { @@ -1438,7 +1436,7 @@ int aor_get_chan_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t arg) } } - cmd_len = sprintf(aorcmd, "MA" EOM); + SNPRINTF(aorcmd, sizeof(aorcmd), "MA" EOM); } return RIG_OK; diff --git a/rigs/aor/ar2700.c b/rigs/aor/ar2700.c index a9ea96db8..531dce1c0 100644 --- a/rigs/aor/ar2700.c +++ b/rigs/aor/ar2700.c @@ -60,7 +60,7 @@ .funcs = RIG_FUNC_ABM, \ } -static int format2700_mode(RIG *rig, char *buf, rmode_t mode, pbwidth_t width); +static int format2700_mode(RIG *rig, char *buf, int buf_len, rmode_t mode, pbwidth_t width); static int parse2700_aor_mode(RIG *rig, char aormode, char aorwidth, rmode_t *mode, pbwidth_t *width); @@ -212,7 +212,7 @@ const struct rig_caps ar2700_caps = #define AR2700_NFM '1' #define AR2700_AM '2' -int format2700_mode(RIG *rig, char *buf, rmode_t mode, pbwidth_t width) +int format2700_mode(RIG *rig, char *buf, int buf_len, rmode_t mode, pbwidth_t width) { int aormode; @@ -230,7 +230,8 @@ int format2700_mode(RIG *rig, char *buf, rmode_t mode, pbwidth_t width) return -RIG_EINVAL; } - return sprintf(buf, "MD%c", aormode); + SNPRINTF(buf, buf_len, "MD%c", aormode); + return strlen(buf); } diff --git a/rigs/aor/ar3000.c b/rigs/aor/ar3000.c index 304d8fb8d..8a8e2e8d7 100644 --- a/rigs/aor/ar3000.c +++ b/rigs/aor/ar3000.c @@ -236,7 +236,7 @@ static int ar3k_transaction(RIG *rig, const char *cmd, int cmd_len, char *data, int ar3k_set_freq(RIG *rig, vfo_t vfo, freq_t freq) { char freqbuf[BUFSZ]; - int freq_len, retval; + int retval; unsigned lowhz; /* @@ -261,9 +261,9 @@ int ar3k_set_freq(RIG *rig, vfo_t vfo, freq_t freq) freq = freq * 100 + lowhz; - freq_len = sprintf(freqbuf, "%04.5f" EOM, ((double)freq) / MHz(1)); + SNPRINTF(freqbuf, sizeof(freqbuf), "%04.5f" EOM, ((double)freq) / MHz(1)); - retval = ar3k_transaction(rig, freqbuf, freq_len, NULL, NULL); + retval = ar3k_transaction(rig, freqbuf, strlen(freqbuf), NULL, NULL); if (retval != RIG_OK) { @@ -314,7 +314,7 @@ int ar3k_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) int ar3k_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) { char mdbuf[BUFSZ]; - int mdbuf_len, aormode, retval; + int aormode, retval; switch (mode) { @@ -336,8 +336,8 @@ int ar3k_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) return -RIG_EINVAL; } - mdbuf_len = sprintf(mdbuf, "%c" EOM, aormode); - retval = ar3k_transaction(rig, mdbuf, mdbuf_len, NULL, NULL); + SNPRINTF(mdbuf, sizeof(mdbuf), "%c" EOM, aormode); + retval = ar3k_transaction(rig, mdbuf, strlen(mdbuf), NULL, NULL); return retval; } @@ -404,7 +404,7 @@ int ar3k_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) int ar3k_set_ts(RIG *rig, vfo_t vfo, shortfreq_t ts) { char freqbuf[BUFSZ]; - int freq_len, retval; + int retval; int lowhz; /* @@ -429,9 +429,9 @@ int ar3k_set_ts(RIG *rig, vfo_t vfo, shortfreq_t ts) ts = ts * 100 + lowhz; - freq_len = sprintf(freqbuf, "%03.2fS" EOM, ((double)ts) / kHz(1)); + SNPRINTF(freqbuf, sizeof(freqbuf), "%03.2fS" EOM, ((double)ts) / kHz(1)); - retval = ar3k_transaction(rig, freqbuf, freq_len, NULL, NULL); + retval = ar3k_transaction(rig, freqbuf, strlen(freqbuf), NULL, NULL); if (retval != RIG_OK) { @@ -479,10 +479,10 @@ int ar3k_get_ts(RIG *rig, vfo_t vfo, shortfreq_t *ts) int ar3k_set_mem(RIG *rig, vfo_t vfo, int ch) { char cmdbuf[BUFSZ]; - int cmd_len, retval; + int retval; - cmd_len = sprintf(cmdbuf, "%02dM" EOM, ch); - retval = ar3k_transaction(rig, cmdbuf, cmd_len, NULL, NULL); + SNPRINTF(cmdbuf, sizeof(cmdbuf), "%02dM" EOM, ch); + retval = ar3k_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL); return retval; } @@ -490,10 +490,10 @@ int ar3k_set_mem(RIG *rig, vfo_t vfo, int ch) int ar3k_set_bank(RIG *rig, vfo_t vfo, int bank) { char cmdbuf[BUFSZ]; - int cmd_len, retval; + int retval; - cmd_len = sprintf(cmdbuf, "%dX" EOM, bank); - retval = ar3k_transaction(rig, cmdbuf, cmd_len, NULL, NULL); + SNPRINTF(cmdbuf, sizeof(cmdbuf), "%dX" EOM, bank); + retval = ar3k_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL); return retval; } diff --git a/rigs/aor/ar3030.c b/rigs/aor/ar3030.c index d2c36b02d..4af52e14f 100644 --- a/rigs/aor/ar3030.c +++ b/rigs/aor/ar3030.c @@ -377,11 +377,11 @@ int ar3030_set_freq(RIG *rig, vfo_t vfo, freq_t freq) { struct ar3030_priv_data *priv = (struct ar3030_priv_data *)rig->state.priv; char freqbuf[BUFSZ]; - int freq_len, retval; + int retval; - freq_len = sprintf(freqbuf, "%03.6f" CR, ((double)freq) / MHz(1)); + SNPRINTF(freqbuf, sizeof(freqbuf), "%03.6f" CR, ((double)freq) / MHz(1)); - retval = ar3030_transaction(rig, freqbuf, freq_len, NULL, NULL); + retval = ar3030_transaction(rig, freqbuf, strlen(freqbuf), NULL, NULL); if (retval != RIG_OK) { @@ -439,7 +439,7 @@ int ar3030_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) int ar3030_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) { char mdbuf[BUFSZ]; - int mdbuf_len, aormode, retval; + int aormode, retval; switch (mode) { @@ -479,16 +479,16 @@ int ar3030_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) if (width != RIG_PASSBAND_NOCHANGE) { - mdbuf_len = sprintf(mdbuf, "%c" CR, aormode); + SNPRINTF(mdbuf, sizeof(mdbuf), "%c" CR, aormode); } else { - mdbuf_len = sprintf(mdbuf, "%dB%c" CR, + SNPRINTF(mdbuf, sizeof(mdbuf), "%dB%c" CR, width < rig_passband_normal(rig, mode) ? 1 : 0, aormode); } - retval = ar3030_transaction(rig, mdbuf, mdbuf_len, NULL, NULL); + retval = ar3030_transaction(rig, mdbuf, strlen(mdbuf), NULL, NULL); return retval; } @@ -567,8 +567,8 @@ int ar3030_set_mem(RIG *rig, vfo_t vfo, int ch) if (priv->curr_vfo == RIG_VFO_MEM) { char cmdbuf[BUFSZ]; - int cmd_len = sprintf(cmdbuf, "%02dM" CR, ch); - retval = ar3030_transaction(rig, cmdbuf, cmd_len, NULL, NULL); + SNPRINTF(cmdbuf, sizeof(cmdbuf), "%02dM" CR, ch); + retval = ar3030_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL); } if (retval == RIG_OK) @@ -727,11 +727,11 @@ int ar3030_get_channel(RIG *rig, vfo_t vfo, channel_t *chan, int read_only) { struct ar3030_priv_data *priv = (struct ar3030_priv_data *)rig->state.priv; char cmdbuf[BUFSZ], infobuf[BUFSZ]; - int info_len, cmd_len, retval; + int info_len, retval; - cmd_len = sprintf(cmdbuf, "%02dM" CR, chan->channel_num); - retval = ar3030_transaction(rig, cmdbuf, cmd_len, infobuf, &info_len); + SNPRINTF(cmdbuf, sizeof(cmdbuf), "%02dM" CR, chan->channel_num); + retval = ar3030_transaction(rig, cmdbuf, strlen(cmdbuf), infobuf, &info_len); if (retval != RIG_OK) { @@ -825,16 +825,16 @@ int ar3030_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op) { struct ar3030_priv_data *priv = (struct ar3030_priv_data *)rig->state.priv; char buf[16]; - int len, retval; + int retval; switch (op) { case RIG_OP_MCL: - len = sprintf(buf, "%02d%%" CR, priv->curr_ch); + SNPRINTF(buf, sizeof(buf), "%02d%%" CR, priv->curr_ch); break; case RIG_OP_FROM_VFO: - len = sprintf(buf, "%02dW" CR, priv->curr_ch); + SNPRINTF(buf, sizeof(buf), "%02dW" CR, priv->curr_ch); priv->curr_vfo = RIG_VFO_MEM; break; @@ -842,7 +842,7 @@ int ar3030_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op) return -RIG_EINVAL; } - retval = ar3030_transaction(rig, buf, len, NULL, NULL); + retval = ar3030_transaction(rig, buf, strlen(buf), NULL, NULL); return retval; } diff --git a/rigs/aor/ar5000.c b/rigs/aor/ar5000.c index 93b9493f0..4b178383f 100644 --- a/rigs/aor/ar5000.c +++ b/rigs/aor/ar5000.c @@ -81,7 +81,7 @@ } -static int format5k_mode(RIG *rig, char *buf, rmode_t mode, pbwidth_t width); +static int format5k_mode(RIG *rig, char *buf, int buf_len, rmode_t mode, pbwidth_t width); static int parse5k_aor_mode(RIG *rig, char aormode, char aorwidth, rmode_t *mode, pbwidth_t *width); @@ -400,7 +400,7 @@ const struct rig_caps ar5000a_caps = #define AR5K_SAL '6' #define AR5K_SAH '7' -int format5k_mode(RIG *rig, char *buf, rmode_t mode, pbwidth_t width) +int format5k_mode(RIG *rig, char *buf, int buf_len, rmode_t mode, pbwidth_t width) { int aormode; @@ -460,11 +460,13 @@ int format5k_mode(RIG *rig, char *buf, rmode_t mode, pbwidth_t width) return -RIG_EINVAL; } - return sprintf(buf, "MD%c BW%c", aormode, aorwidth); + SNPRINTF(buf, buf_len, "MD%c BW%c", aormode, aorwidth); + return strlen(buf); } else { - return sprintf(buf, "MD%c", aormode); + SNPRINTF(buf, buf_len, "MD%c", aormode); + return strlen(buf); } } diff --git a/rigs/aor/sr2200.c b/rigs/aor/sr2200.c index f74e38fac..f7d3b4560 100644 --- a/rigs/aor/sr2200.c +++ b/rigs/aor/sr2200.c @@ -363,7 +363,7 @@ int sr2200_set_freq(RIG *rig, vfo_t vfo, freq_t freq) return -RIG_EPROTO; } - freq_len = sprintf(freqbuf, "RF%010.0f"EOM, freq); + freq_len = snprintf(freqbuf, sizeof(freqbuf), "RF%010.0f"EOM, freq); strcpy(freqbuf + freq_len, EOM); freq_len += strlen(EOM); @@ -397,7 +397,7 @@ int sr2200_set_freq(RIG *rig, vfo_t vfo, freq_t freq) int sr2200_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) { char mdbuf[BUFSZ]; - int mdbuf_len, aormode, retval; + int aormode, retval; pbwidth_t normal_width; normal_width = rig_passband_normal(rig, mode); @@ -429,8 +429,8 @@ int sr2200_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) return -RIG_EINVAL; } - mdbuf_len = sprintf(mdbuf, "MD%c" EOM, aormode); - retval = sr2200_transaction(rig, mdbuf, mdbuf_len, NULL, NULL); + SNPRINTF(mdbuf, sizeof(mdbuf), "MD%c" EOM, aormode); + retval = sr2200_transaction(rig, mdbuf, strlen(mdbuf), NULL, NULL); return retval; } @@ -604,7 +604,6 @@ int sr2200_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { struct rig_state *rs; char lvlbuf[BUFSZ]; - int lvl_len; unsigned i; int agc; unsigned att = 0; @@ -616,11 +615,11 @@ int sr2200_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) case RIG_LEVEL_AF: if (val.f > 255.0F) { - lvl_len = sprintf(lvlbuf, "AG255" EOM); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AG255" EOM); } else { - lvl_len = sprintf(lvlbuf, "AG%03d" EOM, (int)val.f); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AG%03d" EOM, (int)val.f); } break; @@ -628,11 +627,11 @@ int sr2200_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) case RIG_LEVEL_PREAMP: if (val.f > 0) { - lvl_len = sprintf(lvlbuf, "AM1" EOM); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AM1" EOM); } else { - lvl_len = sprintf(lvlbuf, "AM0" EOM); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AM0" EOM); } break; @@ -654,7 +653,7 @@ int sr2200_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) return -RIG_EINVAL; } - lvl_len = sprintf(lvlbuf, "AT%u" EOM, att); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AT%u" EOM, att); break; case RIG_LEVEL_AGC: @@ -670,7 +669,7 @@ int sr2200_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) default: agc = '0'; } - lvl_len = sprintf(lvlbuf, "AC%c" EOM, agc); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AC%c" EOM, agc); break; default: @@ -678,7 +677,7 @@ int sr2200_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) return -RIG_EINVAL; } - return sr2200_transaction(rig, lvlbuf, lvl_len, NULL, NULL); + return sr2200_transaction(rig, lvlbuf, strlen(lvlbuf), NULL, NULL); } /* @@ -689,30 +688,30 @@ int sr2200_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) { struct rig_state *rs; char lvlbuf[BUFSZ], ackbuf[BUFSZ]; - int lvl_len, ack_len, retval; + int ack_len, retval; rs = &rig->state; switch (level) { case RIG_LEVEL_STRENGTH: - lvl_len = sprintf(lvlbuf, "LB" EOM); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "LB" EOM); break; case RIG_LEVEL_ATT: - lvl_len = sprintf(lvlbuf, "AT" EOM); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AT" EOM); break; case RIG_LEVEL_AGC: - lvl_len = sprintf(lvlbuf, "AC" EOM); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AC" EOM); break; case RIG_LEVEL_AF: - lvl_len = sprintf(lvlbuf, "AG" EOM); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AG" EOM); break; case RIG_LEVEL_PREAMP: - lvl_len = sprintf(lvlbuf, "AM" EOM); + SNPRINTF(lvlbuf, sizeof(lvlbuf), "AM" EOM); break; default: @@ -721,7 +720,7 @@ int sr2200_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) return -RIG_EINVAL; } - retval = sr2200_transaction(rig, lvlbuf, lvl_len, ackbuf, &ack_len); + retval = sr2200_transaction(rig, lvlbuf, strlen(lvlbuf), ackbuf, &ack_len); if (retval != RIG_OK) {