chiark / gitweb /
[PATCH] add a test and simplify debug statement
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>
Sun, 13 Mar 2005 06:14:49 +0000 (07:14 +0100)
committerGreg KH <gregkh@suse.de>
Wed, 27 Apr 2005 06:53:17 +0000 (23:53 -0700)
RELEASE-NOTES
test/udev-test.pl
udev_rules.h
udev_rules_parse.c

index ee77d845be3733975d166c473bbaf4845bf927b6..8895f4621525a0e1db30135912272689dbdc59b2 100644 (file)
@@ -9,12 +9,13 @@ THE PLACE= key is gone. It can be replaced by an ID= for a long time, cause
 we walk up the chain of physical devices to find a match.
 
 The KEY="<value>" format supports '=', '==', '!=,' , '+=' now. This makes it
-easier to skip certain devices without composing rules with weird character
-class negations like:
+easy to skip certain attribute matches without composing rules with weird
+character class negations like:
   KERNEL="[!s][!c][!d]*"
 
-this can be replaced by:
+this can now be replaced with:
   KERNEL!="scd*"
 
-The simple '=' is still supported, but the rules should be converted if
-possible, to be better human-readable.
+The current simple '=' is still supported, and should work as it does today,
+but existing rules should be converted if possible, to be better readable.
+
index 8d66536b94462880fde4950e7146b6ccaf77ef01..ebceccecb23608fafc2eeeeb8aeaec3ff6c26da1 100644 (file)
@@ -1159,6 +1159,16 @@ EOF
                conf            => <<EOF
 KERNEL=="sda1", PROGRAM!="/bin/false", NAME="nonzero-program"
 BUS=="scsi", KERNEL=="sda1", NAME="wrong"
+EOF
+       },
+       {
+               desc            => "test for whitespace between the operator",
+               subsys          => "block",
+               devpath         => "/block/sda/sda1",
+               exp_name        => "true",
+               conf            => <<EOF
+KERNEL   ==   "sda1"     ,    NAME   =    "true"
+BUS=="scsi", KERNEL=="sda1", NAME="wrong"
 EOF
        },
 );
index d0142031e7f70087ecfcc09b6464c871044a5473..688d4798e16650120469f843e479794afa0fc745 100644 (file)
@@ -20,8 +20,8 @@
  *
  */
 
-#ifndef NAMEDEV_H
-#define NAMEDEV_H
+#ifndef UDEV_RULES_H
+#define UDEV_RULES_H
 
 #include "libsysfs/sysfs/libsysfs.h"
 #include "udev.h"
@@ -106,7 +106,4 @@ extern int udev_rules_init(void);
 extern int udev_rules_get_name(struct udevice *udev, struct sysfs_class_device *class_dev);
 extern void udev_rules_close(void);
 
-extern void udev_rule_dump(struct udev_rule *rule);
-extern void udev_rule_list_dump(void);
-
 #endif
index ac4755fd37d578a9cf6002b1568f96809b3f7e53..db83a67953fd15e63cd3b3cb6c92bc08f712f7b7 100644 (file)
 
 LIST_HEAD(udev_rule_list);
 
-static int add_config_dev(struct udev_rule *new_rule)
+static int add_config_dev(struct udev_rule *rule)
 {
        struct udev_rule *tmp_rule;
 
        tmp_rule = malloc(sizeof(*tmp_rule));
        if (tmp_rule == NULL)
                return -ENOMEM;
-       memcpy(tmp_rule, new_rule, sizeof(*tmp_rule));
+       memcpy(tmp_rule, rule, sizeof(struct udev_rule));
        list_add_tail(&tmp_rule->node, &udev_rule_list);
-       udev_rule_dump(tmp_rule);
 
-       return 0;
-}
-
-void udev_rule_dump(struct udev_rule *rule)
-{
        dbg("name='%s', symlink='%s', bus='%s', id='%s', "
            "sysfs_file[0]='%s', sysfs_value[0]='%s', "
-           "kernel='%s', program='%s', result='%s'"
-           "owner='%s', group='%s', mode=%#o",
+           "kernel='%s', program='%s', result='%s', "
+           "owner='%s', group='%s', mode=%#o, "
+           "all_partions=%u, ignore_remove=%u, ignore_device=%u, last_rule=%u",
            rule->name, rule->symlink, rule->bus, rule->id,
            rule->sysfs_pair[0].file, rule->sysfs_pair[0].value,
-           rule->kernel, rule->program, rule->result,
-           rule->owner, rule->group, rule->mode);
-}
+           rule->kernel, rule->program, rule->result, rule->owner, rule->group, rule->mode,
+           rule->partitions, rule->ignore_remove, rule->ignore_device, rule->last_rule);
 
-void udev_rule_list_dump(void)
-{
-       struct udev_rule *rule;
-
-       list_for_each_entry(rule, &udev_rule_list, node)
-               udev_rule_dump(rule);
+       return 0;
 }
 
 static int get_key(char **line, char **key, enum key_operation *operation, char **value)