ALSA: jack: use scnprintf to improve parse_mask_bits

Use the return value of scnprintf() to keep track of the current string
length and also replace strlcat() with scnprintf(). Return the string
length directly instead of calling strlen(buf).

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Link: https://patch.msgid.link/20260503101102.298782-2-thorsten.blum@linux.dev
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Thorsten Blum
2026-05-03 12:11:02 +02:00
committed by Takashi Iwai
parent 1595a5b8c5
commit a03c2d1978

View File

@@ -250,18 +250,15 @@ static const char * const jack_events_name[] = {
/* the recommended buffer size is 256 */
static int parse_mask_bits(unsigned int mask_bits, char *buf, size_t buf_size)
{
int len = scnprintf(buf, buf_size, "0x%04x", mask_bits);
int i;
scnprintf(buf, buf_size, "0x%04x", mask_bits);
for (i = 0; i < ARRAY_SIZE(jack_events_name); i++)
if (mask_bits & (1 << i)) {
strlcat(buf, " ", buf_size);
strlcat(buf, jack_events_name[i], buf_size);
}
strlcat(buf, "\n", buf_size);
if (mask_bits & (1 << i))
len += scnprintf(buf + len, buf_size - len, " %s", jack_events_name[i]);
len += scnprintf(buf + len, buf_size - len, "\n");
return strlen(buf);
return len;
}
static ssize_t jack_kctl_mask_bits_read(struct file *file,