GL_SPLIT, /* multi-value A|B */
GL_SPLIT_GLOB, /* multi-value with glob A*|B* */
GL_SOMETHING, /* commonly used "?*" */
- GL_FORMAT,
};
/* tokens of a rule are sorted/handled in this order */
[GL_SPLIT] = "split",
[GL_SPLIT_GLOB] = "split-glob",
[GL_SOMETHING] = "split-glob",
- [GL_FORMAT] = "format",
};
return string_glob_strs[type];
}
glob = GL_PLAIN;
- if (value != NULL) {
- if (type < TK_M_MAX) {
- /* check if we need to split or call fnmatch() while matching rules */
- int has_split;
- int has_glob;
-
- has_split = (strchr(value, '|') != NULL);
- has_glob = (strchr(value, '*') != NULL || strchr(value, '?') != NULL ||
- strchr(value, '[') != NULL || strchr(value, ']') != NULL);
- if (has_split && has_glob) {
- glob = GL_SPLIT_GLOB;
- } else if (has_split) {
- glob = GL_SPLIT;
- } else if (has_glob) {
- if (strcmp(value, "?*") == 0)
- glob = GL_SOMETHING;
- else
- glob = GL_GLOB;
- }
- } else {
- /* check if we need to substitute format strings for matching rules */
- if (strchr(value, '%') != NULL || strchr(value, '$') != NULL)
- glob = GL_FORMAT;
+ if (value != NULL && type < TK_M_MAX) {
+ /* check if we need to split or call fnmatch() while matching rules */
+ int has_split;
+ int has_glob;
+
+ has_split = (strchr(value, '|') != NULL);
+ has_glob = (strchr(value, '*') != NULL || strchr(value, '?') != NULL ||
+ strchr(value, '[') != NULL || strchr(value, ']') != NULL);
+ if (has_split && has_glob) {
+ glob = GL_SPLIT_GLOB;
+ } else if (has_split) {
+ glob = GL_SPLIT;
+ } else if (has_glob) {
+ if (strcmp(value, "?*") == 0)
+ glob = GL_SOMETHING;
+ else
+ glob = GL_GLOB;
}
}
if (strcmp(ext, suffix) != 0)
continue;
}
- dbg(udev, "put file '%s/%s' into list\n", dirname, dent->d_name);
-
- snprintf(filename, sizeof(filename), "%s/%s", dirname, dent->d_name);
- filename[sizeof(filename)-1] = '\0';
+ util_strscpyl(filename, sizeof(filename), dirname, "/", dent->d_name, NULL);
+ dbg(udev, "put file '%s' into list\n", filename);
udev_list_entry_add(udev, file_list, filename, NULL, 1, 1);
}
case GL_SOMETHING:
match = (val[0] != '\0');
break;
- case GL_FORMAT:
case GL_UNSET:
return -1;
}