Codebase list alsa-lib / 4633d35
control: eld - skip trailing spaces Signed-off-by: Jaroslav Kysela <perex@perex.cz> Jaroslav Kysela 1 year, 6 months ago
1 changed file(s) with 6 addition(s) and 3 deletion(s). Raw diff Collapse all Expand all
4646 snd_ctl_elem_info_t cinfo = {0};
4747 snd_ctl_elem_value_t value = {0};
4848 unsigned char *eld;
49 unsigned int l;
49 unsigned int l, spc;
5050 char *s, c;
5151 int ret, valid;
5252
8181 return 0;
8282 }
8383 s = alloca(l + 1);
84 s[l] = '\0';
8584 /* sanitize */
8685 valid = 0;
86 spc = 0;
8787 while (l > 0) {
8888 l--;
8989 c = eld[20 + l];
90 if (c < ' ' || c >= 0x7f) {
90 if (c <= ' ' || c >= 0x7f) {
9191 s[l] = ' ';
9292 } else {
9393 valid += !!isalnum(c);
9494 s[l] = c;
95 if (spc == 0)
96 spc = l + 1;
9597 }
9698 }
9799 if (valid > 3) {
100 s[spc] = '\0';
98101 snd_strlcpy((char *)info->name, s, sizeof(info->name));
99102 } else {
100103 __present: