[PATCH 1/1] config: add command line option for config file
Alex DAMIAN
alexandru.damian at intel.com
Thu Sep 26 02:27:16 PDT 2013
From: Alexandru DAMIAN <alexandru.damian at intel.com>
Added an option to specify the weston.ini config file
to be used. Defaults to ${PWD}/weston.ini
Adding a check in weston_config_full_path so that
we don't crash if we started without a config file.
Fixing a typo in help message.
Signed-off-by: Alexandru DAMIAN <alexandru.damian at intel.com>
---
shared/config-parser.c | 2 +-
src/compositor.c | 15 +++++++++++----
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/shared/config-parser.c b/shared/config-parser.c
index e1bf212..8defbbb 100644
--- a/shared/config-parser.c
+++ b/shared/config-parser.c
@@ -385,7 +385,7 @@ weston_config_parse(const char *name)
const char *
weston_config_get_full_path(struct weston_config *config)
{
- return config->path;
+ return config == NULL ? NULL : config->path;
}
int
diff --git a/src/compositor.c b/src/compositor.c
index f619f82..c073410 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -3338,7 +3338,8 @@ usage(int error_code)
" -S, --socket=NAME\tName of socket to listen on\n"
" -i, --idle-time=SECS\tIdle time in seconds\n"
" --modules\t\tLoad the comma-separated list of modules\n"
- " --log==FILE\t\tLog to the given file\n"
+ " --log=FILE\t\tLog to the given file\n"
+ " --config=FILE\t\tUse specified config file. Defaults to ./weston.ini\n"
" -h, --help\t\tThis help message\n\n");
fprintf(stderr,
@@ -3429,6 +3430,7 @@ int main(int argc, char *argv[])
int32_t help = 0;
char *socket_name = "wayland-0";
int32_t version = 0;
+ char *config_file = "weston.ini";
struct weston_config *config;
struct weston_config_section *section;
@@ -3441,6 +3443,7 @@ int main(int argc, char *argv[])
{ WESTON_OPTION_STRING, "log", 0, &log },
{ WESTON_OPTION_BOOLEAN, "help", 'h', &help },
{ WESTON_OPTION_BOOLEAN, "version", 0, &version },
+ { WESTON_OPTION_STRING, "config", 'c', &config_file },
};
parse_options(core_options, ARRAY_LENGTH(core_options), &argc, argv);
@@ -3488,9 +3491,13 @@ int main(int argc, char *argv[])
backend = WESTON_NATIVE_BACKEND;
}
- config = weston_config_parse("weston.ini");
- weston_log("Using config file '%s'\n",
- weston_config_get_full_path(config));
+ config = weston_config_parse(config_file);
+
+ if (config != NULL) {
+ weston_log("Using config file '%s'\n", weston_config_get_full_path(config));
+ } else {
+ weston_log("Starting with no config file.");
+ }
section = weston_config_get_section(config, "core", NULL, NULL);
weston_config_section_get_string(section, "modules", &modules, "");
--
1.8.1.2
More information about the wayland-devel
mailing list