aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2011-06-07 20:08:40 -0700
committerMike Lockwood <lockwood@android.com>2011-06-09 15:42:47 -0700
commitf5cb5b24356fae2dfa3477589ee0f3c094479e63 (patch)
tree00a39fd3cb639a36d46d78adad93bafaeeafc7b6
parent7ba61b15ed11e168457270f20f5a80992756524a (diff)
downloadsystem_core-f5cb5b24356fae2dfa3477589ee0f3c094479e63.tar.gz
system_core-f5cb5b24356fae2dfa3477589ee0f3c094479e63.tar.bz2
system_core-f5cb5b24356fae2dfa3477589ee0f3c094479e63.zip
init: Fix the init.rc import command
Change-Id: I8a91c3f7d1ca31e137d9043bb7f56e4a44fb63df Signed-off-by: Mike Lockwood <lockwood@android.com>
-rw-r--r--init/builtins.c5
-rw-r--r--init/init_parser.c8
-rw-r--r--init/keywords.h3
3 files changed, 9 insertions, 7 deletions
diff --git a/init/builtins.c b/init/builtins.c
index dad75454..f43b0485 100644
--- a/init/builtins.c
+++ b/init/builtins.c
@@ -226,11 +226,6 @@ int do_insmod(int nargs, char **args)
return do_insmod_inner(nargs, args, size);
}
-int do_import(int nargs, char **args)
-{
- return init_parse_config_file(args[1]);
-}
-
int do_mkdir(int nargs, char **args)
{
mode_t mode = 0755;
diff --git a/init/init_parser.c b/init/init_parser.c
index e88c5a00..d9d30842 100644
--- a/init/init_parser.c
+++ b/init/init_parser.c
@@ -179,6 +179,14 @@ void parse_new_section(struct parse_state *state, int kw,
return;
}
break;
+ case K_import:
+ if (nargs != 2) {
+ ERROR("single argument needed for import\n");
+ } else {
+ int ret = init_parse_config_file(args[1]);
+ if (ret)
+ ERROR("could not import file %s\n", args[1]);
+ }
}
state->parse_line = parse_line_no_op;
}
diff --git a/init/keywords.h b/init/keywords.h
index 95acd01a..3e3733f2 100644
--- a/init/keywords.h
+++ b/init/keywords.h
@@ -11,7 +11,6 @@ int do_export(int nargs, char **args);
int do_hostname(int nargs, char **args);
int do_ifup(int nargs, char **args);
int do_insmod(int nargs, char **args);
-int do_import(int nargs, char **args);
int do_mkdir(int nargs, char **args);
int do_mount(int nargs, char **args);
int do_restart(int nargs, char **args);
@@ -54,7 +53,7 @@ enum {
KEYWORD(hostname, COMMAND, 1, do_hostname)
KEYWORD(ifup, COMMAND, 1, do_ifup)
KEYWORD(insmod, COMMAND, 1, do_insmod)
- KEYWORD(import, COMMAND, 1, do_import)
+ KEYWORD(import, SECTION, 1, 0)
KEYWORD(keycodes, OPTION, 0, 0)
KEYWORD(mkdir, COMMAND, 1, do_mkdir)
KEYWORD(mount, COMMAND, 3, do_mount)