mixer(8): Fix mixer status line for /dev/dspX.vpY mixer devices.

In some cases when passing /dev/dspX.vpY as mixer devices, m->ci.longname and
m->ci.hw_info will be empty. Don't print any brackets and parentheses
in this case.

Differential Revision:	https://reviews.freebsd.org/D32500
Submitted by:	christos@
Sponsored by:	NVIDIA Networking
This commit is contained in:
Hans Petter Selasky 2021-10-15 11:11:44 +02:00
parent 78df56ccfc
commit 63dcf7fda2

View File

@ -219,15 +219,23 @@ printminfo(struct mixer *m, int oflag)
if (oflag)
return;
printf("%s: <%s> %s", m->mi.name, m->ci.longname, m->ci.hw_info);
printf(" (");
printf("%s:", m->mi.name);
if (*m->ci.longname != '\0')
printf(" <%s>", m->ci.longname);
if (*m->ci.hw_info != '\0')
printf(" %s", m->ci.hw_info);
if (m->mode != 0)
printf(" (");
if (m->mode & MIX_MODE_PLAY)
printf("play");
if ((m->mode & playrec) == playrec)
printf("/");
if (m->mode & MIX_MODE_REC)
printf("rec");
printf(")");
if (m->mode != 0)
printf(")");
if (m->f_default)
printf(" (default)");
printf("\n");