[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