X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibudev%2Flibudev-hwdb.c;h=de1cb831885016b3236d74be66fe4b289afc39b4;hb=5ecb28f69ef670c7e194b656b57fda6f8850f0ba;hp=a56ad753e45479f673f9c4a01b799362bc306edb;hpb=507f22bd0172bff5e5d98145b1419bd472a2c57f;p=elogind.git diff --git a/src/libudev/libudev-hwdb.c b/src/libudev/libudev-hwdb.c index a56ad753e..de1cb8318 100644 --- a/src/libudev/libudev-hwdb.c +++ b/src/libudev/libudev-hwdb.c @@ -140,9 +140,13 @@ static const struct trie_node_f *node_lookup_f(struct udev_hwdb *hwdb, const str } static int hwdb_add_property(struct udev_hwdb *hwdb, const char *key, const char *value) { - /* TODO: add sub-matches (+) against DMI data */ + /* + * Silently ignore all properties which do not start with a + * space; future extensions might use additional prefixes. + */ if (key[0] != ' ') return 0; + if (udev_list_entry_add(&hwdb->properties_list, key+1, value) == NULL) return -ENOMEM; return 0; @@ -354,7 +358,7 @@ bool udev_hwdb_validate(struct udev_hwdb *hwdb) { return false; if (!hwdb->f) return false; - if (fstat(fileno(hwdb->f), &st) < 0) + if (stat("/etc/udev/hwdb.bin", &st) < 0) return true; if (timespec_load(&hwdb->st.st_mtim) != timespec_load(&st.st_mtim)) return true;