28 lines
1.2 KiB
Diff
28 lines
1.2 KiB
Diff
From c4f1b97f45f1685c0a4bcba8c6724ce17bb6af19 Mon Sep 17 00:00:00 2001
|
|
From: Dave Reisner <dreisner@archlinux.org>
|
|
Date: Mon, 16 Sep 2013 11:22:35 -0400
|
|
Subject: [PATCH] udev-rules: avoid erroring on trailing whitespace
|
|
|
|
https://bugs.archlinux.org/task/36950
|
|
---
|
|
src/udev/udev-rules.c | 6 ++++++
|
|
1 file changed, 6 insertions(+)
|
|
|
|
diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
|
|
index f14158b..6f8b127 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') {
|