<div dir="ltr">You're right, I didn't check other usages.<div><br></div><div>Please dump this patch, it brings in way more problems than it fixes - I don't think that looking up in tons of directories a random user-specified file name is very safe.</div>

<div><br></div><div>I'll resubmit only the relevant bits to prevent crashing if no config file.</div><div><br></div><div>Alex</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Sep 26, 2013 at 9:00 PM, Eoff, Ullysses A <span dir="ltr"><<a href="mailto:ullysses.a.eoff@intel.com" target="_blank">ullysses.a.eoff@intel.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This patch only instructs the main compositor process to use the command-line specified<br>
configuration file.  What about the other things that depend on settings from the configuration<br>
file: window.c, tablet-shell.c, desktop-shell.c, and terminal.c? Those all load "weston.ini" using<br>
the default path resolution and therefore won't be loading the settings from the command-line<br>
specified configuration file.<br>
<br>
Also, I think the default resolution for weston.ini is in ${XDG_CONFIG_HOME}/,<br>
${HOME}/.config/, ${XDG_CONFIG_DIRS}/, and finally ${PWD}/.  The help message in this patch<br>
says it defaults to ${PWD}/ which is deceiving.<br>
<br>
-- U. Artie<br>
<div><div class="h5"><br>
> -----Original Message-----<br>
> From: wayland-devel-bounces+ullysses.a.eoff=<a href="mailto:intel.com@lists.freedesktop.org">intel.com@lists.freedesktop.org</a> [mailto:<a href="mailto:wayland-devel-">wayland-devel-</a><br>
> bounces+ullysses.a.eoff=<a href="mailto:intel.com@lists.freedesktop.org">intel.com@lists.freedesktop.org</a>] On Behalf Of Alex DAMIAN<br>
> Sent: Thursday, September 26, 2013 2:27 AM<br>
> To: <a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
> Cc: Damian, Alexandru<br>
> Subject: [PATCH 1/1] config: add command line option for config file<br>
><br>
> From: Alexandru DAMIAN <<a href="mailto:alexandru.damian@intel.com">alexandru.damian@intel.com</a>><br>
><br>
> Added an option to specify the weston.ini config file<br>
> to be used. Defaults to ${PWD}/weston.ini<br>
><br>
> Adding a check in weston_config_full_path so that<br>
> we don't crash if we started without a config file.<br>
><br>
> Fixing a typo in help message.<br>
><br>
> Signed-off-by: Alexandru DAMIAN <<a href="mailto:alexandru.damian@intel.com">alexandru.damian@intel.com</a>><br>
> ---<br>
>  shared/config-parser.c |  2 +-<br>
>  src/compositor.c       | 15 +++++++++++----<br>
>  2 files changed, 12 insertions(+), 5 deletions(-)<br>
><br>
> diff --git a/shared/config-parser.c b/shared/config-parser.c<br>
> index e1bf212..8defbbb 100644<br>
> --- a/shared/config-parser.c<br>
> +++ b/shared/config-parser.c<br>
> @@ -385,7 +385,7 @@ weston_config_parse(const char *name)<br>
>  const char *<br>
>  weston_config_get_full_path(struct weston_config *config)<br>
>  {<br>
> -     return config->path;<br>
> +     return config == NULL ? NULL : config->path;<br>
>  }<br>
><br>
>  int<br>
> diff --git a/src/compositor.c b/src/compositor.c<br>
> index f619f82..c073410 100644<br>
> --- a/src/compositor.c<br>
> +++ b/src/compositor.c<br>
> @@ -3338,7 +3338,8 @@ usage(int error_code)<br>
>               "  -S, --socket=NAME\tName of socket to listen on\n"<br>
>               "  -i, --idle-time=SECS\tIdle time in seconds\n"<br>
>               "  --modules\t\tLoad the comma-separated list of modules\n"<br>
> -             "  --log==FILE\t\tLog to the given file\n"<br>
> +             "  --log=FILE\t\tLog to the given file\n"<br>
> +             "  --config=FILE\t\tUse specified config file. Defaults to ./weston.ini\n"<br>
>               "  -h, --help\t\tThis help message\n\n");<br>
><br>
>       fprintf(stderr,<br>
> @@ -3429,6 +3430,7 @@ int main(int argc, char *argv[])<br>
>       int32_t help = 0;<br>
>       char *socket_name = "wayland-0";<br>
>       int32_t version = 0;<br>
> +     char *config_file = "weston.ini";<br>
>       struct weston_config *config;<br>
>       struct weston_config_section *section;<br>
><br>
> @@ -3441,6 +3443,7 @@ int main(int argc, char *argv[])<br>
>               { WESTON_OPTION_STRING, "log", 0, &log },<br>
>               { WESTON_OPTION_BOOLEAN, "help", 'h', &help },<br>
>               { WESTON_OPTION_BOOLEAN, "version", 0, &version },<br>
> +             { WESTON_OPTION_STRING, "config", 'c', &config_file },<br>
>       };<br>
><br>
>       parse_options(core_options, ARRAY_LENGTH(core_options), &argc, argv);<br>
> @@ -3488,9 +3491,13 @@ int main(int argc, char *argv[])<br>
>                       backend = WESTON_NATIVE_BACKEND;<br>
>       }<br>
><br>
> -     config = weston_config_parse("weston.ini");<br>
> -     weston_log("Using config file '%s'\n",<br>
> -                weston_config_get_full_path(config));<br>
> +     config = weston_config_parse(config_file);<br>
> +<br>
> +     if (config != NULL) {<br>
> +             weston_log("Using config file '%s'\n", weston_config_get_full_path(config));<br>
> +     } else {<br>
> +             weston_log("Starting with no config file.");<br>
> +     }<br>
>       section = weston_config_get_section(config, "core", NULL, NULL);<br>
>       weston_config_section_get_string(section, "modules", &modules, "");<br>
><br>
> --<br>
> 1.8.1.2<br>
><br>
</div></div>> _______________________________________________<br>
> wayland-devel mailing list<br>
> <a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Alex Damian<div>Yocto Project<br></div><div>SSG / OTC </div></div>
</div>