[PATCH weston 1/2] main: usual patterns can be extracted to functions
Pekka Paalanen
ppaalanen at gmail.com
Tue Sep 9 02:25:09 PDT 2014
Hi,
this should really be two separate patches, each with a specific commit
message. The subject line here does not really tell much.
I rewrote the commit message, and pushed.
Thanks,
pq
On Sat, 6 Sep 2014 07:32:05 +0900
Ryo Munakata <ryomnktml at gmail.com> wrote:
> Signed-off-by: Ryo Munakata <ryomnktml at gmail.com>
> ---
> src/compositor.c | 66 +++++++++++++++++++++++++++++++++++---------------------
> 1 file changed, 41 insertions(+), 25 deletions(-)
>
> diff --git a/src/compositor.c b/src/compositor.c
> index 20ff6b2..0ecae23 100644
> --- a/src/compositor.c
> +++ b/src/compositor.c
> @@ -4279,6 +4279,42 @@ handle_primary_client_destroyed(struct wl_listener *listener, void *data)
> wl_display_terminate(wl_client_get_display(client));
> }
>
> +static char *
> +weston_choose_default_backend(void)
> +{
> + char *backend = NULL;
> +
> + if (getenv("WAYLAND_DISPLAY") || getenv("WAYLAND_SOCKET"))
> + backend = strdup("wayland-backend.so");
> + else if (getenv("DISPLAY"))
> + backend = strdup("x11-backend.so");
> + else
> + backend = strdup(WESTON_NATIVE_BACKEND);
> +
> + return backend;
> +}
> +
> +static int
> +weston_create_listening_socket(struct wl_display *display, const char *socket_name)
> +{
> + if (socket_name) {
> + if (wl_display_add_socket(display, socket_name)) {
> + weston_log("fatal: failed to add socket: %m\n");
> + return -1;
> + }
> + } else {
> + socket_name = wl_display_add_socket_auto(display);
> + if (!socket_name) {
> + weston_log("fatal: failed to add socket: %m\n");
> + return -1;
> + }
> + }
> +
> + setenv("WAYLAND_DISPLAY", socket_name, 1);
> +
> + return 0;
> +}
> +
> int main(int argc, char *argv[])
> {
> int ret = EXIT_SUCCESS;
> @@ -4379,14 +4415,8 @@ int main(int argc, char *argv[])
> weston_config_section_get_string(section, "backend", &backend,
> NULL);
>
> - if (!backend) {
> - if (getenv("WAYLAND_DISPLAY") || getenv("WAYLAND_SOCKET"))
> - backend = strdup("wayland-backend.so");
> - else if (getenv("DISPLAY"))
> - backend = strdup("x11-backend.so");
> - else
> - backend = strdup(WESTON_NATIVE_BACKEND);
> - }
> + if (!backend)
> + backend = weston_choose_default_backend();
>
> backend_init = weston_load_module(backend, "backend_init");
> free(backend);
> @@ -4438,23 +4468,9 @@ int main(int argc, char *argv[])
> handle_primary_client_destroyed;
> wl_client_add_destroy_listener(primary_client,
> &primary_client_destroyed);
> - } else {
> - if (socket_name) {
> - if (wl_display_add_socket(display, socket_name)) {
> - weston_log("fatal: failed to add socket: %m\n");
> - ret = EXIT_FAILURE;
> - goto out;
> - }
> - } else {
> - socket_name = wl_display_add_socket_auto(display);
> - if (!socket_name) {
> - weston_log("fatal: failed to add socket: %m\n");
> - ret = EXIT_FAILURE;
> - goto out;
> - }
> - }
> -
> - setenv("WAYLAND_DISPLAY", socket_name, 1);
> + } else if (weston_create_listening_socket(display, socket_name)) {
> + ret = EXIT_FAILURE;
> + goto out;
> }
>
> if (option_shell)
More information about the wayland-devel
mailing list