[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-hotplug
Subject: Parsing comments
From: Rocco Stanzione <grasshopper () linuxkungfu ! org>
Date: 2006-09-10 20:48:40
Message-ID: 200609101548.40851.grasshopper () linuxkungfu ! org
[Download RAW message or body]
I made this patch in reponse to a bug report on ubuntu, where a very long
comment in a rules file produced an error message about a too-long rule.
They broke the rule into multiple lines to avoid it, and I made a patch to
check for comments before (rather than after) complaining about long lines,
which ubuntu was hesitant to apply so late in the release process. I thought
I'd submit it upstream and let it come back down on its own time, if you
think it's a good patch.
ubuntu bug report:
https://launchpad.net/distros/ubuntu/+source/sane-backends/+bug/56317
Thanks,
Rocco Stanzione
["udev_long_comments.diff" (text/x-diff)]
diff -u udev-093/debian/changelog udev-093/debian/changelog
--- udev-093/debian/changelog
+++ udev-093/debian/changelog
@@ -1,3 +1,9 @@
+udev (093-0ubuntu15) edgy; urgency=low
+
+ * Check for comments before parsing rules. Closes lp #56317
+
+ -- Rocco Stanzione <grasshopper@linuxkungfu.org> Sun, 10 Sep 2006 15:22:00 -0500
+
udev (093-0ubuntu14) edgy; urgency=low
* Be gone foul devfs-emulation fiends from hell!
only in patch2:
unchanged:
--- udev-093.orig/udev_rules.c
+++ udev-093/udev_rules.c
@@ -164,6 +164,10 @@
cur += count+1;
lineno++;
+ /* see if this is a comment */
+ if (bufline[0] == COMMENT_CHARACTER)
+ continue;
+
if (count >= sizeof(line)) {
err("line too long, conf line skipped %s, line %d", udev_config_filename, lineno);
continue;
@@ -177,10 +181,6 @@
if (count == 0)
continue;
- /* see if this is a comment */
- if (bufline[0] == COMMENT_CHARACTER)
- continue;
-
memcpy(line, bufline, count);
line[count] = '\0';
only in patch2:
unchanged:
--- udev-093.orig/udev_rules_parse.c
+++ udev-093/udev_rules_parse.c
@@ -609,6 +609,10 @@
cur += count+1;
lineno++;
+ /* see if this is a comment */
+ if (bufline[0] == COMMENT_CHARACTER)
+ continue;
+
if (count >= sizeof(line)) {
err("line too long, rule skipped '%s:%u'", filename, lineno);
continue;
@@ -622,10 +626,6 @@
if (count == 0)
continue;
- /* see if this is a comment */
- if (bufline[0] == COMMENT_CHARACTER)
- continue;
-
/* skip backslash and newline from multi line rules */
for (i = j = 0; i < count; i++) {
if (bufline[i] == '\\' && bufline[i+1] == '\n')
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic