case SUBST_TYPE_PLAIN:
if (sd_device_get_sysattr_value(dev, name, &value) < 0)
return false;
- break;
+
+ /* remove trailing whitespace, if not asked to match for it */
+ if (token->attr_match_remove_trailing_whitespace) {
+ strscpy(vbuf, sizeof(vbuf), value);
+ value = delete_trailing_chars(vbuf, NULL);
+ }
+
+ return token_match_string(token, value);
+
case SUBST_TYPE_SUBSYS:
if (udev_resolve_subsys_kernel(name, vbuf, sizeof(vbuf), true) < 0)
return false;
- value = vbuf;
- break;
- default:
- assert_not_reached();
- }
- /* remove trailing whitespace, if not asked to match for it */
- if (token->attr_match_remove_trailing_whitespace) {
- if (value != vbuf) {
- strscpy(vbuf, sizeof(vbuf), value);
- value = vbuf;
- }
+ /* remove trailing whitespace, if not asked to match for it */
+ if (token->attr_match_remove_trailing_whitespace)
+ delete_trailing_chars(vbuf, NULL);
- delete_trailing_chars(vbuf, NULL);
- }
+ return token_match_string(token, vbuf);
- return token_match_string(token, value);
+ default:
+ assert_not_reached();
+ }
}
static int get_property_from_string(char *line, char **ret_key, char **ret_value) {