use encodefmt for usb audio Reference: /n/atom/patch/applied/usbaudioencode Date: Sat Apr 19 00:44:23 CES 2014 Signed-off-by: quanstro@quanstro.net --- /sys/src/cmd/usb/audio/audio.c Sat Apr 19 00:44:23 2014 +++ /sys/src/cmd/usb/audio/audio.c Sat Apr 19 00:44:23 2014 @@ -32,9 +32,11 @@ static void audio_endpoint(Dev *, Desc *dd) { - byte *b = (uchar*)&dd->data; - int n = dd->data.bLength; - char *hd; + byte *b; + int n; + + b = (uchar*)&dd->data; + n = dd->data.bLength; switch(b[2]){ case 0x01: @@ -72,11 +74,8 @@ } break; default: - if(usbdebug){ - hd = hexstr(b, n); - fprint(2, "CS_INTERFACE: %s\n", hd); - free(hd); - } + if(usbdebug) + fprint(2, "CS_INTERFACE: %.*H\n", n, b); } } @@ -227,6 +226,7 @@ value[i] = 0; fmtinstall('A', Aconv); fmtinstall('U', Ufmt); + fmtinstall('H', encodefmt); quotefmtinstall(); ARGBEGIN{ --- /sys/src/cmd/usb/audio/audiosub.c Sat Apr 19 00:44:23 2014 +++ /sys/src/cmd/usb/audio/audiosub.c Sat Apr 19 00:44:23 2014 @@ -227,9 +227,8 @@ } break; default: - hd = hexstr(bb, nb); - fprint(2, "audio control unknown: %s\n", hd); - free(hd); + fprint(2, "audio control unknown: %.*H\n", nb, bb); + break; } break; case 2: // stream @@ -281,20 +280,15 @@ aa->subframesize = b[5]; break; default: - if(usbdebug){ - hd = hexstr(bb, nb); - fprint(2, "audio stream unknown: %s\n", hd); - free(hd); - } + if(usbdebug) + fprint(2, "audio stream unknown: %.*H\n", nb, bb); + break; } break; case 3: // midi default: - if(usbdebug){ - hd = hexstr(bb, nb); - fprint(2, "Unknown audio stream type: CS_INTERFACE: %s\n", hd); - free(hd); - } + if(usbdebug) + fprint(2, "Unknown audio stream type: CS_INTERFACE: %.*H\n", nb, bb); + break; } } -