Change sprintf to snprint in dra818.c

https://github.com/Hamlib/Hamlib/issues/857
pull/928/head
Mike Black W9MDB 2022-01-10 23:29:16 -06:00
rodzic 9e140519db
commit 8372bba7f4
1 zmienionych plików z 10 dodań i 10 usunięć

Wyświetl plik

@ -77,11 +77,11 @@ static int dra818_response(RIG *rig, const char *expected)
return RIG_OK;
}
static void dra818_subaudio(RIG *rig, char *subaudio, tone_t tone, tone_t code)
static void dra818_subaudio(RIG *rig, char *subaudio, int subaudio_len, tone_t tone, tone_t code)
{
if (code)
{
sprintf(subaudio, "%03uI", code);
SNPRINTF(subaudio, subaudio_len, "%03uI", code);
return;
}
else if (tone)
@ -92,7 +92,7 @@ static void dra818_subaudio(RIG *rig, char *subaudio, tone_t tone, tone_t code)
{
if (rig->caps->ctcss_list[i] == tone)
{
sprintf(subaudio, "%04d", i + 1);
SNPRINTF(subaudio, subaudio_len, "%04d", i + 1);
return;
}
}
@ -108,13 +108,13 @@ static int dra818_setgroup(RIG *rig)
{
struct dra818_priv *priv = rig->state.priv;
char cmd[80];
char subtx[5] = { 0 };
char subrx[5] = { 0 };
char subtx[8] = { 0 };
char subrx[8] = { 0 };
dra818_subaudio(rig, subtx, priv->ctcss_tone, priv->dcs_code);
dra818_subaudio(rig, subrx, priv->ctcss_sql, priv->dcs_sql);
dra818_subaudio(rig, subtx, sizeof(subtx), priv->ctcss_tone, priv->dcs_code);
dra818_subaudio(rig, subrx, sizeof(subrx), priv->ctcss_sql, priv->dcs_sql);
sprintf(cmd, "AT+DMOSETGROUP=%1d,%03d.%04d,%03d.%04d,%4s,%1d,%4s\r\n",
SNPRINTF(cmd, sizeof(cmd), "AT+DMOSETGROUP=%1d,%03d.%04d,%03d.%04d,%4s,%1d,%4s\r\n",
priv->bw == 12500 ? 0 : 1,
(int)(priv->tx_freq / 1000000), (int)((priv->tx_freq % 1000000) / 100),
(int)(priv->rx_freq / 1000000), (int)((priv->rx_freq % 1000000) / 100),
@ -129,7 +129,7 @@ static int dra818_setvolume(RIG *rig)
struct dra818_priv *priv = rig->state.priv;
char cmd[80];
sprintf(cmd, "AT+DMOSETVOLUME=%1d\r\n", priv->vol);
SNPRINTF(cmd, sizeof(cmd), "AT+DMOSETVOLUME=%1d\r\n", priv->vol);
write_block(&rig->state.rigport, (unsigned char *) cmd, strlen(cmd));
return dra818_response(rig, dra818_setvolume_res);
@ -290,7 +290,7 @@ int dra818_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd)
char response[8];
int r;
sprintf(cmd, "S+%03d.%04d\r\n",
SNPRINTF(cmd, sizeof(cmd), "S+%03d.%04d\r\n",
(int)(priv->rx_freq / 1000000), (int)((priv->rx_freq % 1000000) / 100));
write_block(&rig->state.rigport, (unsigned char *) cmd, strlen(cmd));