3 # Patch managed by http://www.holgerschurig.de/patcher.html
6 --- setmixer-27DEC94.orig/Makefile~setmixer
7 +++ setmixer-27DEC94.orig/Makefile
12 -CFLAGS= -O6 -fomit-frame-pointer -Wall -pipe -m486
13 -LDFLAGS= -Xlinker -N -s
14 +CFLAGS= -O2 -fomit-frame-pointer -Wall -pipe
15 +#LDFLAGS= -Xlinker -N -s
19 --- setmixer-27DEC94.orig/setmixer.c~setmixer
20 +++ setmixer-27DEC94.orig/setmixer.c
23 int devmask, stereod, i, d;
26 + int lcval,rcval,oldlcval,oldrcval,val;
34 - if (!verbose && ((argc <= 0) || (argc & 1))) {
35 + if ((!verbose && ((argc <= 0) || (argc & 1))) || (verbose && argc % 2)) {
36 fprintf(stderr, "usage: %s [-V] cntrl val [cntrl val ....]\n"
37 - "where val is in 0-100 range and 'cntrl' is one of the following:\n\t",
38 + "where val is in [+-]0-100 range and 'cntrl' is one of the following:\n\t",
40 for (i = 0; i < SOUND_MIXER_NRDEVICES; i++)
41 fprintf(stderr, "%s ", dname[i]);
46 + oldlcval = (('+' == **argv) || ('-' == **argv));
47 lcval = strtol(*argv++, &endptr, 0);
50 + oldrcval = (('+' == *endptr) || ('-' == *endptr));
51 rcval = strtol((const char *)endptr, 0, 0);
55 + oldrcval = oldlcval;
59 + if (oldlcval || oldrcval) {
60 + for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) {
61 + if (0 == strncmp(dname[i], cntrl, len)) {
63 + if (0 != (devmask & d)) {
64 + if (-1 == ioctl(mixer_fd, MIXER_READ(i), &val)) {
65 + perror("MIXER_READ");
68 + lcval += oldlcval ? (val & 0x7f) : 0;
69 + rcval += oldrcval ? ((val >> 8) & 0x7f) : 0;
76 for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) {
77 if (0 == strncmp(dname[i], cntrl, len)) {