Use better diagnostic messages when unit numbers are wrong.
This is an example of the current and proposed behavior:
$ mixer -d pcmAAA mixer: strtol(AAA): Invalid argument
$mixer -dpcmAAAA mixer: Can not convert 'AAAA' to a number: Invalid argument
$ mixer -d999999999999999999999999999999999 mixer: strtol(999999999999999999999999999999999): Result too large
$mixer -d99999999999999999999999 mixer: 99999999999999999999999: Result too large
$ mixer -d-2 mixer: cannot set default unit to -2: Invalid argument pcm3:mixer: <Realtek ALC887 (Front Analog)> on hdaa1 (play/rec) (default) vol = 0.78:0.78 pbk pcm = 0.85:0.85 pbk speaker = 0.00:0.00 rec rec = 0.35:0.35 pbk igain = 0.00:0.00 pbk ogain = 1.00:1.00 pbk monitor = 0.67:0.67 rec src
$mixer -d-2 mixer: Unit number must be a positive number
$ mixer -d99 mixer: cannot set default unit to 99: Invalid argument pcm3:mixer: <Realtek ALC887 (Front Analog)> on hdaa1 (play/rec) (default) vol = 0.78:0.78 pbk pcm = 0.85:0.85 pbk speaker = 0.00:0.00 rec rec = 0.35:0.35 pbk igain = 0.00:0.00 pbk ogain = 1.00:1.00 pbk monitor = 0.67:0.67 rec src
$mixer -d99 mixer: No such mixer unit: 99