chiark / gitweb /
Docs: udev.xml: Clarify through a change in word ordering
[elogind.git] / udev / udev-rules.c
index 4b81a50a8e04a72d7e4be013042a96b7451069b9..221865c9dcd921b69b500a5b883218ed795a6f19 100644 (file)
@@ -751,7 +751,7 @@ static int import_program_into_properties(struct udev_device *dev, const char *p
 {
        struct udev *udev = udev_device_get_udev(dev);
        char **envp;
-       char result[4096];
+       char result[UTIL_LINE_SIZE];
        size_t reslen;
        char *line;
 
@@ -1751,10 +1751,9 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
        struct udev_list_entry *file_loop, *file_tmp;
        struct token end_token;
 
-       rules = malloc(sizeof(struct udev_rules));
+       rules = calloc(1, sizeof(struct udev_rules));
        if (rules == NULL)
                return NULL;
-       memset(rules, 0x00, sizeof(struct udev_rules));
        rules->udev = udev;
        rules->resolve_names = resolve_names;
        udev_list_init(&file_list);
@@ -1804,7 +1803,7 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
                add_matching_files(udev, &file_list, SYSCONFDIR "/udev/rules.d", ".rules");
 
                /* read dynamic/temporary rules */
-               util_strscpyl(filename, sizeof(filename), udev_get_dev_path(udev), "/.udev/rules.d", NULL);
+               util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev), "/rules.d", NULL);
                udev_list_init(&sort_list);
                add_matching_files(udev, &sort_list, filename, ".rules");
 
@@ -2081,7 +2080,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
 
        can_set_name = ((strcmp(udev_device_get_action(event->dev), "remove") != 0) &&
                        (major(udev_device_get_devnum(event->dev)) > 0 ||
-                        strcmp(udev_device_get_subsystem(event->dev), "net") == 0));
+                        udev_device_get_ifindex(event->dev) > 0));
 
        /* loop through token list, match, run actions or forward to next rule */
        cur = &rules->tokens[0];