diff options
author | Mike Lockwood <lockwood@android.com> | 2011-06-07 18:16:55 -0700 |
---|---|---|
committer | Mike Lockwood <lockwood@android.com> | 2011-06-09 15:42:42 -0700 |
commit | 7ba61b15ed11e168457270f20f5a80992756524a (patch) | |
tree | 241104bdced5f2f395abc2f19f305cf8633f84ca /init | |
parent | 2c4d5dc41505d28cff369cfbe8b17ac81106d936 (diff) | |
download | system_core-7ba61b15ed11e168457270f20f5a80992756524a.zip system_core-7ba61b15ed11e168457270f20f5a80992756524a.tar.gz system_core-7ba61b15ed11e168457270f20f5a80992756524a.tar.bz2 |
init: Allow wildcards in property triggers by using * for property value
For example, the following trigger will fire when the sys.foo property
is set to any value:
on property:sys.foo=*
write /data/foo hello
It is also possible to refer to the property within the trigger actions:
on property:sys.foo=*
write /data/foo $sys.foo
Change-Id: If78d20a532f77e17aa5703d53be581ad6736cbcf
Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'init')
-rw-r--r-- | init/init_parser.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/init/init_parser.c b/init/init_parser.c index e8e65ac..e88c5a0 100644 --- a/init/init_parser.c +++ b/init/init_parser.c @@ -347,7 +347,8 @@ void queue_property_triggers(const char *name, const char *value) if (!strncmp(name, test, name_length) && test[name_length] == '=' && - !strcmp(test + name_length + 1, value)) { + (!strcmp(test + name_length + 1, value) || + !strcmp(test + name_length + 1, "*"))) { action_add_queue_tail(act); } } @@ -377,7 +378,8 @@ void queue_all_property_triggers() /* does the property exist, and match the trigger value? */ value = property_get(prop_name); - if (value && !strcmp(equals + 1, value)) { + if (value && (!strcmp(equals + 1, value) || + !strcmp(equals + 1, "*"))) { action_add_queue_tail(act); } } |