This is no longer needed as there are no more non-lopsub
commands left. Now pmd->lpr is non-NULL for all commands which
call action_if_pattern_matches(), which allows to simplify the
function. Moreover, ->patterns of struct pattern_match_data is unused
and can be dropped.
struct pattern_match_data *pmd = data;
struct osl_object name_obj;
const char *p, *name;
struct pattern_match_data *pmd = data;
struct osl_object name_obj;
const char *p, *name;
- int i, ret = osl(osl_get_object(pmd->table, row, pmd->match_col_num, &name_obj));
- const char *pattern_txt = (const char *)pmd->patterns.data;
+ ret = osl(osl_get_object(pmd->table, row, pmd->match_col_num,
+ &name_obj));
if (ret < 0)
return ret;
name = (char *)name_obj.data;
if ((!name || !*name) && (pmd->pm_flags & PM_SKIP_EMPTY_NAME))
return 1;
if (ret < 0)
return ret;
name = (char *)name_obj.data;
if ((!name || !*name) && (pmd->pm_flags & PM_SKIP_EMPTY_NAME))
return 1;
- if ((pmd->lpr && lls_num_inputs(pmd->lpr) == 0) || pmd->patterns.size == 0) {
+ if (lls_num_inputs(pmd->lpr) == 0) {
if (pmd->pm_flags & PM_NO_PATTERN_MATCHES_EVERYTHING) {
pmd->num_matches++;
return pmd->action(pmd->table, row, name, pmd->data);
}
}
if (pmd->pm_flags & PM_NO_PATTERN_MATCHES_EVERYTHING) {
pmd->num_matches++;
return pmd->action(pmd->table, row, name, pmd->data);
}
}
i = pmd->input_skip;
for (;;) {
i = pmd->input_skip;
for (;;) {
- if (pmd->lpr) {
- if (i >= lls_num_inputs(pmd->lpr))
- break;
- p = lls_input(i, pmd->lpr);
- } else {
- if (p >= pattern_txt + pmd->patterns.size)
- break;
- }
+ if (i >= lls_num_inputs(pmd->lpr))
+ break;
+ p = lls_input(i, pmd->lpr);
ret = fnmatch(p, name, pmd->fnmatch_flags);
if (ret != FNM_NOMATCH) {
if (ret != 0)
ret = fnmatch(p, name, pmd->fnmatch_flags);
if (ret != FNM_NOMATCH) {
if (ret != 0)
- if (pmd->lpr)
- i++;
- else
- p += strlen(p) + 1;
int fnmatch_flags;
/** Obtained by deserializing the query buffer in the callback. */
struct lls_parse_result *lpr;
int fnmatch_flags;
/** Obtained by deserializing the query buffer in the callback. */
struct lls_parse_result *lpr;
- /** Null-terminated array of patterns. */
- struct osl_object patterns;
/** Do not try to match the first inputs of lpr */
unsigned input_skip;
/** Data pointer passed to the action function. */
/** Do not try to match the first inputs of lpr */
unsigned input_skip;
/** Data pointer passed to the action function. */