[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