diff options
author | Dave Reisner <dreisner@archlinux.org> | 2013-09-16 11:22:35 -0400 |
---|---|---|
committer | Dave Reisner <dreisner@archlinux.org> | 2013-09-16 11:46:05 -0400 |
commit | 3cf0f8f7e0b950b5f6d678f3e8b7f0fc0f52d4bf (patch) | |
tree | 9ff1be23847ae4fbf6020de4e95f7de995165a7f /src | |
parent | d8c8508bad097c5cc354b684866a5b7a83fce394 (diff) |
udev-rules: avoid erroring on trailing whitespace
https://bugs.archlinux.org/task/36950
Diffstat (limited to 'src')
-rw-r--r-- | src/udev/udev-rules.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c index f14158b500..6f8b127872 100644 --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c @@ -1068,6 +1068,12 @@ static int add_rule(struct udev_rules *rules, char *line, enum operation_type op; if (get_key(rules->udev, &linepos, &key, &op, &value) != 0) { + /* Avoid erroring on trailing whitespace. This is probably rare + * so save the work for the error case instead of always trying + * to strip the trailing whitespace with strstrip(). */ + while (isblank(*linepos)) + linepos++; + /* If we aren't at the end of the line, this is a parsing error. * Make a best effort to describe where the problem is. */ if (*linepos != '\n') { |