chiark / gitweb /
libudev: util - optimize path_encode()
[elogind.git] / udev / udev-rules.c
index cbf351159579b08eb1f058f20b35a868aa8650df..32eed78d8a54bb1cabeeec3710fb70180cbb4675 100644 (file)
@@ -596,7 +596,7 @@ static int match_rule(struct udev_event *event, struct udev_rule *rule)
                        if (value[0]=='\0') {
                                const char *val;
 
-                               val = udev_device_get_attr_value(dev, key_name);
+                               val = udev_device_get_sysattr_value(dev, key_name);
                                if (val != NULL)
                                        util_strlcpy(value, val, sizeof(value));
                        }
@@ -648,9 +648,9 @@ static int match_rule(struct udev_event *event, struct udev_rule *rule)
                                char value[UTIL_NAME_SIZE];
                                size_t len;
 
-                               val = udev_device_get_attr_value(event->dev_parent, key_name);
+                               val = udev_device_get_sysattr_value(event->dev_parent, key_name);
                                if (val == NULL)
-                                       val = udev_device_get_attr_value(dev, key_name);
+                                       val = udev_device_get_sysattr_value(dev, key_name);
                                if (val == NULL)
                                        goto try_parent;
                                util_strlcpy(value, val, sizeof(value));
@@ -1772,10 +1772,9 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
        struct udev_list_node file_list;
        struct udev_list_entry *file_loop, *file_tmp;
 
-       rules = malloc(sizeof(struct udev_rules));
+       rules = calloc(1, sizeof(struct udev_rules));
        if (rules == NULL)
                return rules;
-       memset(rules, 0x00, sizeof(struct udev_rules));
        rules->udev = udev;
        rules->resolve_names = resolve_names;
        udev_list_init(&file_list);