chiark / gitweb /
keymap: inline one-line key maps
[elogind.git] / udev / udev-rules.c
index 7db890fed91166869cee5699d1eb83fb83f45053..96d7377472789f148b200d49d635d89f7a3ff776 100644 (file)
@@ -718,8 +718,9 @@ static int import_property_from_string(struct udev_device *dev, char *line)
                struct udev_list_entry *entry;
 
                entry = udev_device_add_property(dev, key, val);
-               /* store in db */
-               udev_list_entry_set_flag(entry, 1);
+               /* store in db, skip private keys */
+               if (key[0] != '.')
+                       udev_list_entry_set_flag(entry, 1);
        }
        return 0;
 }
@@ -785,8 +786,9 @@ static int import_parent_into_properties(struct udev_device *dev, const char *fi
 
                        dbg(udev, "import key '%s=%s'\n", key, val);
                        entry = udev_device_add_property(dev, key, val);
-                       /* store in db */
-                       udev_list_entry_set_flag(entry, 1);
+                       /* store in db, skip private keys */
+                       if (key[0] != '.')
+                               udev_list_entry_set_flag(entry, 1);
                }
        }
        return 0;
@@ -1338,7 +1340,7 @@ static int add_rule(struct udev_rules *rules, char *line,
 
                                /* allow programs in /lib/udev called without the path */
                                if (value[0] != '/')
-                                       util_strscpyl(file, sizeof(file), UDEV_PREFIX "/lib/udev/", value, NULL);
+                                       util_strscpyl(file, sizeof(file), LIBEXECDIR "/", value, NULL);
                                else
                                        util_strscpy(file, sizeof(file), value);
                                pos = strchr(file, ' ');
@@ -1734,7 +1736,7 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
                add_matching_files(udev, &sort_list, filename, ".rules");
 
                /* read default rules */
-               add_matching_files(udev, &sort_list, UDEV_PREFIX "/lib/udev/rules.d", ".rules");
+               add_matching_files(udev, &sort_list, LIBEXECDIR "/rules.d", ".rules");
 
                /* sort all rules files by basename into list of files */
                udev_list_entry_foreach_safe(sort_loop, sort_tmp, udev_list_get_entry(&sort_list)) {
@@ -2374,8 +2376,9 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
 
                                        udev_event_apply_format(event, value, temp_value, sizeof(temp_value));
                                        entry = udev_device_add_property(event->dev, name, temp_value);
-                                       /* store in db */
-                                       udev_list_entry_set_flag(entry, 1);
+                                       /* store in db, skip private keys */
+                                       if (name[0] != '.')
+                                               udev_list_entry_set_flag(entry, 1);
                                } else {
                                        udev_device_add_property(event->dev, name, NULL);
                                }