Update of /cvsroot/alsa/alsa-kernel/usb
In directory sc8-pr-cvs1:/tmp/cvs-serv31308/usb
Modified Files:
usbaudio.c usbmixer.c
Log Message:
Added strlcpy() strlcat() functions
Index: usbaudio.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/usb/usbaudio.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- usbaudio.c 13 May 2003 10:44:09 -0000 1.50
+++ usbaudio.c 30 May 2003 12:28:36 -0000 1.51
@@ -2544,8 +2544,7 @@
len = 0;
if (len <= 0) {
if (quirk && quirk->product_name) {
- strncpy(card->shortname, quirk->product_name,
sizeof(card->shortname) - 1);
- card->shortname[sizeof(card->shortname) - 1] = '\0';
+ strlcpy(card->shortname, quirk->product_name,
sizeof(card->shortname));
} else {
sprintf(card->shortname, "USB Device %#04x:%#04x",
dev->descriptor.idVendor, dev->descriptor.idProduct);
@@ -2555,37 +2554,32 @@
/* retrieve the vendor and device strings as longname */
if (dev->descriptor.iManufacturer)
len = usb_string(dev, dev->descriptor.iManufacturer,
- card->longname, sizeof(card->longname) - 1);
+ card->longname, sizeof(card->longname));
else
len = 0;
if (len <= 0) {
if (quirk && quirk->vendor_name) {
- strncpy(card->longname, quirk->vendor_name,
sizeof(card->longname) - 2);
- card->longname[sizeof(card->longname) - 2] = '\0';
- len = strlen(card->longname);
+ len = strlcpy(card->longname, quirk->vendor_name,
sizeof(card->longname));
} else {
len = 0;
}
}
- if (len > 0) {
- card->longname[len] = ' ';
- len++;
- }
- card->longname[len] = '\0';
+ if (len > 0)
+ strlcat(card->longname, ' ', sizeof(card->longname));
+
+ len = strlen(card->longname);
+
if ((!dev->descriptor.iProduct
|| usb_string(dev, dev->descriptor.iProduct,
card->longname + len, sizeof(card->longname) - len) <= 0)
&& quirk && quirk->product_name) {
- strncpy(card->longname + len, quirk->product_name,
sizeof(card->longname) - len - 1);
- card->longname[sizeof(card->longname) - 1] = '\0';
+ strlcat(card->longname, quirk->product_name, sizeof(card->longname));
}
- /* add device path to longname */
- len = strlen(card->longname);
- if (sizeof(card->longname) - len > 10) {
- strcpy(card->longname + len, " at ");
- len += 4;
+
+ len = strlcat(card->longname, " at ", sizeof(card->longname));
+
+ if (len < sizeof(card->longname))
usb_make_path(dev, card->longname + len, sizeof(card->longname) - len);
- }
*rchip = chip;
return 0;
Index: usbmixer.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/usb/usbmixer.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- usbmixer.c 13 May 2003 10:44:09 -0000 1.18
+++ usbmixer.c 30 May 2003 12:28:36 -0000 1.19
@@ -164,9 +164,7 @@
if (p->id == unitid && p->name &&
(! control || ! p->control || control == p->control)) {
buflen--;
- strncpy(buf, p->name, buflen);
- buf[buflen] = 0;
- return strlen(buf);
+ return strlcpy(buf, p->name, buflen);
}
}
return 0;
@@ -835,7 +833,8 @@
if (! len)
len = get_term_name(state, &state->oterm,
kctl->id.name, sizeof(kctl->id.name), 1);
if (! len)
- len = sprintf(kctl->id.name, "Feature %d", unitid);
+ len = snprintf(kctl->id.name, sizeof(kctl->id.name),
+ "Feature %d", unitid);
}
/* determine the stream direction:
* if the connected output is USB stream, then it's likely a
@@ -843,24 +842,19 @@
*/
if (! mapped_name && ! (state->oterm.type >> 16)) {
if ((state->oterm.type & 0xff00) == 0x0100) {
- if (len + 8 < sizeof(kctl->id.name)) {
- strcpy(kctl->id.name + len, " Capture");
- len += 8;
- }
+ len = strlcat(kctl->id.name, " Capture",
sizeof(kctl->id.name));
} else {
- if (len + 9 < sizeof(kctl->id.name)) {
- strcpy(kctl->id.name + len, " Playback");
- len += 9;
- }
+ len = strlcat(kctl->id.name + len, " Playback",
sizeof(kctl->id.name));
}
}
- if (len + 7 < sizeof(kctl->id.name))
- strcpy(kctl->id.name + len, control == USB_FEATURE_MUTE ? "
Switch" : " Volume");
+ strlcat(kctl->id.name + len, control == USB_FEATURE_MUTE ? " Switch" :
" Volume",
+ sizeof(kctl->id.name));
break;
default:
if (! len)
- strcpy(kctl->id.name, audio_feature_info[control-1].name);
+ strlcpy(kctl->id.name, audio_feature_info[control-1].name,
+ sizeof(kctl->id.name));
break;
}
@@ -991,8 +985,7 @@
len = get_term_name(state, &iterm, kctl->id.name,
sizeof(kctl->id.name), 0);
if (! len)
len = sprintf(kctl->id.name, "Mixer Source %d", in_ch);
- if (len + 7 < sizeof(kctl->id.name))
- strcpy(kctl->id.name + len, " Volume");
+ strlcat(kctl->id.name + len, " Volume", sizeof(kctl->id.name));
snd_printdd(KERN_INFO "[%d] MU [%s] ch = %d, val = %d/%d\n",
cval->id, kctl->id.name, cval->channels, cval->min, cval->max);
@@ -1220,22 +1213,18 @@
if (check_mapped_name(state, unitid, cval->control, kctl->id.name,
sizeof(kctl->id.name)))
;
else if (info->name)
- strcpy(kctl->id.name, info->name);
+ strlcpy(kctl->id.name, info->name, sizeof(kctl->id.name));
else {
nameid = dsc[12 + num_ins + dsc[11 + num_ins]];
len = 0;
if (nameid)
len = snd_usb_copy_string_desc(state, nameid,
kctl->id.name, sizeof(kctl->id.name));
- if (! len) {
- strncpy(kctl->id.name, name, sizeof(kctl->id.name) -
1);
- kctl->id.name[sizeof(kctl->id.name)-1] = 0;
- }
- }
- len = strlen(kctl->id.name);
- if (len + sizeof(valinfo->suffix) + 1 < sizeof(kctl->id.name)) {
- kctl->id.name[len] = ' ';
- strcpy(kctl->id.name + len + 1, valinfo->suffix);
+ if (! len)
+ strlcpy(kctl->id.name, name, sizeof(kctl->id.name));
}
+ strlcat(kctl->id.name, ' ', sizeof(kctl->id.name));
+ strlcat(kctl->id.name, valinfo->suffix, sizeof(kctl->id.name));
+
snd_printdd(KERN_INFO "[%d] PU [%s] ch = %d, val = %d/%d\n",
cval->id, kctl->id.name, cval->channels, cval->min,
cval->max);
if ((err = add_control_to_empty(state->chip->card, kctl)) < 0)
@@ -1436,14 +1425,12 @@
len = get_term_name(state, &state->oterm,
kctl->id.name, sizeof(kctl->id.name), 0);
if (! len)
- len = sprintf(kctl->id.name, "USB");
- if ((state->oterm.type & 0xff00) == 0x0100) {
- if (len + 15 < sizeof(kctl->id.name))
- strcpy(kctl->id.name + len, " Capture Source");
- } else {
- if (len + 16 < sizeof(kctl->id.name))
- strcpy(kctl->id.name + len, " Playback Source");
- }
+ strlcpy(kctl->id.name, "USB", sizeof(kctl->id.name));
+
+ if ((state->oterm.type & 0xff00) == 0x0100)
+ strlcat(kctl->id.name, " Capture Source",
sizeof(kctl->id.name));
+ else
+ strlcat(kctl->id.name, " Playback Source",
sizeof(kctl->id.name));
}
snd_printdd(KERN_INFO "[%d] SU [%s] items = %d\n",
-------------------------------------------------------
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog