Lines Matching defs:cur
1843 static int match_attr(struct udev_rules *rules, struct udev_device *dev, struct udev_event *event, struct token *cur) {
1850 name = rules_str(rules, cur->key.attr_off);
1851 switch (cur->key.attrsubst) {
1876 key_value = rules_str(rules, cur->key.value_off);
1888 return match_key(rules, cur, value);
1903 struct token *cur;
1916 cur = &rules->tokens[0];
1917 rule = cur;
1919 dump_token(rules, cur);
1920 switch (cur->type) {
1923 rule = cur;
1930 if (match_key(rules, cur, udev_device_get_action(event->dev)) != 0)
1934 if (match_key(rules, cur, udev_device_get_devpath(event->dev)) != 0)
1938 if (match_key(rules, cur, udev_device_get_sysname(event->dev)) != 0)
1949 if (match_key(rules, cur, devlink) == 0) {
1959 if (match_key(rules, cur, event->name) != 0)
1963 const char *key_name = rules_str(rules, cur->key.attr_off);
1980 if (match_key(rules, cur, value))
1989 if (streq(rules_str(rules, cur->key.value_off), udev_list_entry_get_name(list_entry))) {
1994 if (!match && (cur->key.op != OP_NOMATCH))
1999 if (match_key(rules, cur, udev_device_get_subsystem(event->dev)) != 0)
2003 if (match_key(rules, cur, udev_device_get_driver(event->dev)) != 0)
2010 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), filename, sizeof(filename), false);
2012 if (!found && (cur->key.op != OP_NOMATCH))
2017 if (match_attr(rules, event->dev, event, cur) != 0)
2025 udev_event_apply_format(event, rules_str(rules, cur->key.attr_off), filename, sizeof(filename), false);
2033 if (match_key(rules, cur, value) != 0)
2045 next = cur;
2055 for (key = cur; key < next; key++ ) {
2075 bool match = udev_device_has_tag(event->dev_parent, rules_str(rules, cur->key.value_off));
2095 cur = next;
2103 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), filename, sizeof(filename), false);
2116 if (match && cur->key.mode > 0)
2117 match = ((statbuf.st_mode & cur->key.mode) > 0);
2118 if (match && cur->key.op == OP_NOMATCH)
2120 if (!match && cur->key.op == OP_MATCH)
2131 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), program, sizeof(program), false);
2139 if (cur->key.op != OP_NOMATCH)
2151 if (cur->key.op == OP_NOMATCH)
2159 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), import, sizeof(import), false);
2161 if (cur->key.op != OP_NOMATCH)
2168 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), import, sizeof(import), false);
2175 if (cur->key.op != OP_NOMATCH)
2182 if (udev_builtin_run_once(cur->key.builtin_cmd)) {
2184 if (event->builtin_run & (1 << cur->key.builtin_cmd)) {
2186 udev_builtin_name(cur->key.builtin_cmd),
2190 if (event->builtin_ret & (1 << cur->key.builtin_cmd))
2191 if (cur->key.op != OP_NOMATCH)
2196 event->builtin_run |= (1 << cur->key.builtin_cmd);
2199 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), command, sizeof(command), false);
2201 udev_builtin_name(cur->key.builtin_cmd),
2205 if (udev_builtin_run(event->dev, cur->key.builtin_cmd, command, false) != 0) {
2208 udev_builtin_name(cur->key.builtin_cmd));
2209 event->builtin_ret |= (1 << cur->key.builtin_cmd);
2210 if (cur->key.op != OP_NOMATCH)
2216 const char *key = rules_str(rules, cur->key.value_off);
2223 if (cur->key.op != OP_NOMATCH)
2237 const char *key = rules_str(rules, cur->key.value_off);
2262 if (!imported && cur->key.op != OP_NOMATCH)
2269 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), import, sizeof(import), false);
2271 if (cur->key.op != OP_NOMATCH)
2276 if (match_key(rules, cur, event->program_result) != 0)
2291 if (cur->key.op == OP_ASSIGN_FINAL)
2293 event->inotify_watch = cur->key.watch;
2296 udev_device_set_devlink_priority(event->dev, cur->key.devlink_prio);
2305 if (cur->key.op == OP_ASSIGN_FINAL)
2307 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), owner, sizeof(owner), false);
2331 if (cur->key.op == OP_ASSIGN_FINAL)
2333 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), group, sizeof(group), false);
2357 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), mode_str, sizeof(mode_str), false);
2363 if (cur->key.op == OP_ASSIGN_FINAL)
2376 if (cur->key.op == OP_ASSIGN_FINAL)
2379 event->uid = cur->key.uid;
2388 if (cur->key.op == OP_ASSIGN_FINAL)
2391 event->gid = cur->key.gid;
2400 if (cur->key.op == OP_ASSIGN_FINAL)
2403 event->mode = cur->key.mode;
2412 name = rules_str(rules, cur->key.attr_off);
2413 label = rules_str(rules, cur->key.value_off);
2414 if (cur->key.op == OP_ASSIGN || cur->key.op == OP_ASSIGN_FINAL)
2424 const char *name = rules_str(rules, cur->key.attr_off);
2425 char *value = rules_str(rules, cur->key.value_off);
2430 if (cur->key.op == OP_ADD)
2436 if (cur->key.op == OP_ADD)
2454 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), tag, sizeof(tag), false);
2455 if (cur->key.op == OP_ASSIGN || cur->key.op == OP_ASSIGN_FINAL)
2466 if (cur->key.op == OP_REMOVE)
2473 const char *name = rules_str(rules, cur->key.value_off);
2480 if (cur->key.op == OP_ASSIGN_FINAL)
2513 if (cur->key.op == OP_ASSIGN_FINAL)
2515 if (cur->key.op == OP_ASSIGN || cur->key.op == OP_ASSIGN_FINAL)
2519 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), temp, sizeof(temp), esc != ESCAPE_NONE);
2550 const char *key_name = rules_str(rules, cur->key.attr_off);
2559 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), value, sizeof(value), false);
2578 udev_event_apply_format(event, rules_str(rules, cur->key.attr_off), filename, sizeof(filename), false);
2580 udev_event_apply_format(event, rules_str(rules, cur->key.value_off), value, sizeof(value), false);
2592 if (cur->key.op == OP_ASSIGN || cur->key.op == OP_ASSIGN_FINAL)
2595 rules_str(rules, cur->key.value_off),
2598 entry = udev_list_entry_add(&event->run_list, rules_str(rules, cur->key.value_off), NULL);
2599 udev_list_entry_set_num(entry, cur->key.builtin_cmd);
2603 if (cur->key.rule_goto == 0)
2605 cur = &rules->tokens[cur->key.rule_goto];
2614 log_error("wrong type %u", cur->type);
2618 cur++;
2622 cur = rule + rule->rule.token_count;
2627 struct token *cur;
2641 cur = &rules->tokens[0];
2642 rule = cur;
2644 switch (cur->type) {
2647 rule = cur;
2660 uid = cur->key.uid;
2663 gid = cur->key.gid;
2666 mode = cur->key.mode;
2669 r = strv_extend(&tags, rules_str(rules, cur->key.value_off));
2685 strscpyl(device_node, sizeof(device_node), "/dev/", rules_str(rules, cur->key.value_off), NULL);
2701 unescaped_filename = xescape(rules_str(rules, cur->key.value_off), "/.");
2748 cur++;
2752 cur = rule + rule->rule.token_count;
2775 struct token *cur;
2784 cur = &rules->tokens[0];
2785 rule = cur;
2787 dump_token(rules, cur);
2788 switch (cur->type) {
2791 rule = cur;
2796 if (match_key(rules, cur, "net") != 0)
2800 if (match_key(rules, cur, "add") != 0)
2804 const char *name = rules_str(rules, cur->key.value_off);
2827 cur++;
2831 cur = rule + rule->rule.token_count;