[PATCH] ALSA: jack: use scnprintf to improve parse_mask_bits

Thorsten Blum posted 1 patch 1 month, 1 week ago
sound/core/jack.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
[PATCH] ALSA: jack: use scnprintf to improve parse_mask_bits
Posted by Thorsten Blum 1 month, 1 week ago
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>
---
 sound/core/jack.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/sound/core/jack.c b/sound/core/jack.c
index 5e8a2f3f4196..96e0733ede77 100644
--- a/sound/core/jack.c
+++ b/sound/core/jack.c
@@ -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,
Re: [PATCH] ALSA: jack: use scnprintf to improve parse_mask_bits
Posted by Takashi Iwai 1 month, 1 week ago
On Sun, 03 May 2026 12:11:02 +0200,
Thorsten Blum wrote:
> 
> 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>

Thanks, applied now.


Takashi