udev: Add strdups to kill const warnings
InputAttributes wants non-const members, and while it appears safe to cast it, just leave it be for the moment. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
This commit is contained in:
parent
03f2eb1e15
commit
22796cfa48
|
@ -94,6 +94,7 @@ device_added(struct udev_device *udev_device)
|
|||
if (parent) {
|
||||
const char *ppath = udev_device_get_devnode(parent);
|
||||
const char *product = udev_device_get_property_value(parent, "PRODUCT");
|
||||
const char *pnp_id = udev_device_get_sysattr_value(parent, "id");
|
||||
unsigned int usb_vendor, usb_model;
|
||||
|
||||
name = udev_device_get_sysattr_value(parent, "name");
|
||||
|
@ -103,8 +104,9 @@ device_added(struct udev_device *udev_device)
|
|||
LOG_PROPERTY(ppath, "NAME", name);
|
||||
}
|
||||
|
||||
attrs.pnp_id = udev_device_get_sysattr_value(parent, "id");
|
||||
LOG_SYSATTR(ppath, "id", attrs.pnp_id);
|
||||
if (pnp_id)
|
||||
attrs.pnp_id = strdup(pnp_id);
|
||||
LOG_SYSATTR(ppath, "id", pnp_id);
|
||||
|
||||
/* construct USB ID in lowercase hex - "0000:ffff" */
|
||||
if (product && sscanf(product, "%*x/%4x/%4x/%*x", &usb_vendor, &usb_model) == 2) {
|
||||
|
@ -118,12 +120,13 @@ device_added(struct udev_device *udev_device)
|
|||
if (!name)
|
||||
name = "(unnamed)";
|
||||
else
|
||||
attrs.product = name;
|
||||
attrs.product = strdup(name);
|
||||
add_option(&options, "name", name);
|
||||
|
||||
add_option(&options, "path", path);
|
||||
add_option(&options, "device", path);
|
||||
attrs.device = path;
|
||||
if (path)
|
||||
attrs.device = strdup(path);
|
||||
|
||||
tags_prop = udev_device_get_property_value(udev_device, "ID_INPUT.tags");
|
||||
LOG_PROPERTY(path, "ID_INPUT.tags", tags_prop);
|
||||
|
@ -162,7 +165,7 @@ device_added(struct udev_device *udev_device)
|
|||
add_option(&options, "xkb_options", value);
|
||||
} else if (!strcmp(key, "ID_VENDOR")) {
|
||||
LOG_PROPERTY(path, key, value);
|
||||
attrs.vendor = value;
|
||||
attrs.vendor = strdup(value);
|
||||
} else if (!strcmp(key, "ID_INPUT_KEY")) {
|
||||
LOG_PROPERTY(path, key, value);
|
||||
attrs.flags |= ATTR_KEYBOARD;
|
||||
|
@ -202,6 +205,10 @@ device_added(struct udev_device *udev_device)
|
|||
}
|
||||
|
||||
free(attrs.usb_id);
|
||||
free(attrs.pnp_id);
|
||||
free(attrs.product);
|
||||
free(attrs.device);
|
||||
free(attrs.vendor);
|
||||
if (attrs.tags) {
|
||||
char **tag = attrs.tags;
|
||||
while (*tag) {
|
||||
|
|
Loading…
Reference in New Issue