mirror of
https://github.com/systemd/systemd.git
synced 2025-02-09 13:57:42 +03:00
hwdb: remove support for (not fully implemented) conditional properties
This commit is contained in:
parent
c221420be8
commit
3cf7b686e6
@ -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;
|
||||
|
@ -406,14 +406,12 @@ static int import_file(struct trie *trie, const char *filename) {
|
||||
FILE *f;
|
||||
char line[LINE_MAX];
|
||||
char match[LINE_MAX];
|
||||
char cond[LINE_MAX];
|
||||
|
||||
f = fopen(filename, "re");
|
||||
if (f == NULL)
|
||||
return -errno;
|
||||
|
||||
match[0] = '\0';
|
||||
cond[0] = '\0';
|
||||
while (fgets(line, sizeof(line), f)) {
|
||||
size_t len;
|
||||
|
||||
@ -423,7 +421,6 @@ static int import_file(struct trie *trie, const char *filename) {
|
||||
/* new line, new record */
|
||||
if (line[0] == '\n') {
|
||||
match[0] = '\0';
|
||||
cond[0] = '\0';
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -436,20 +433,10 @@ static int import_file(struct trie *trie, const char *filename) {
|
||||
/* start of new record */
|
||||
if (match[0] == '\0') {
|
||||
strcpy(match, line);
|
||||
cond[0] = '\0';
|
||||
continue;
|
||||
}
|
||||
|
||||
if (line[0] == '+') {
|
||||
strcpy(cond, line);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* TODO: support +; skip the entire record until we support it */
|
||||
if (cond[0] != '\0')
|
||||
continue;
|
||||
|
||||
/* value lines */
|
||||
/* value line */
|
||||
if (line[0] == ' ') {
|
||||
char *value;
|
||||
|
||||
@ -459,7 +446,10 @@ static int import_file(struct trie *trie, const char *filename) {
|
||||
value[0] = '\0';
|
||||
value++;
|
||||
trie_insert(trie, trie->root, match, line, value);
|
||||
continue;
|
||||
}
|
||||
|
||||
log_error("Error parsing line '%s' in '%s\n", line, filename);
|
||||
}
|
||||
fclose(f);
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user