[PATCH wayland 3/6] Use zalloc instead of malloc + memset
Marek Chalupa
mchqwerty at gmail.com
Mon Jan 11 01:50:36 PST 2016
Hi,
On 12/29/2015 03:10 AM, Jonas Ådahl wrote:
> Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
> ---
> src/connection.c | 4 ++--
> src/wayland-client.c | 12 +++---------
> src/wayland-private.h | 6 ++++++
> src/wayland-server.c | 6 ++----
> src/wayland-shm.c | 4 +---
> 5 files changed, 14 insertions(+), 18 deletions(-)
>
> diff --git a/src/connection.c b/src/connection.c
> index 6742f19..45a2e78 100644
> --- a/src/connection.c
> +++ b/src/connection.c
> @@ -163,10 +163,10 @@ wl_connection_create(int fd)
> {
> struct wl_connection *connection;
>
> - connection = malloc(sizeof *connection);
> + connection = zalloc(sizeof *connection);
> if (connection == NULL)
> return NULL;
> - memset(connection, 0, sizeof *connection);
> +
> connection->fd = fd;
>
> return connection;
> diff --git a/src/wayland-client.c b/src/wayland-client.c
> index 509be08..613767e 100644
> --- a/src/wayland-client.c
> +++ b/src/wayland-client.c
> @@ -331,12 +331,10 @@ proxy_create(struct wl_proxy *factory, const struct wl_interface *interface)
> struct wl_proxy *proxy;
> struct wl_display *display = factory->display;
>
> - proxy = malloc(sizeof *proxy);
> + proxy = zalloc(sizeof *proxy);
> if (proxy == NULL)
> return NULL;
>
> - memset(proxy, 0, sizeof *proxy);
> -
> proxy->object.interface = interface;
> proxy->display = display;
> proxy->queue = factory->queue;
> @@ -387,12 +385,10 @@ wl_proxy_create_for_id(struct wl_proxy *factory,
> struct wl_proxy *proxy;
> struct wl_display *display = factory->display;
>
> - proxy = malloc(sizeof *proxy);
> + proxy = zalloc(sizeof *proxy);
> if (proxy == NULL)
> return NULL;
>
> - memset(proxy, 0, sizeof *proxy);
> -
> proxy->object.interface = interface;
> proxy->object.id = id;
> proxy->display = display;
> @@ -817,14 +813,12 @@ wl_display_connect_to_fd(int fd)
> if (debug && (strstr(debug, "client") || strstr(debug, "1")))
> debug_client = 1;
>
> - display = malloc(sizeof *display);
> + display = zalloc(sizeof *display);
> if (display == NULL) {
> close(fd);
> return NULL;
> }
>
> - memset(display, 0, sizeof *display);
> -
> display->fd = fd;
> wl_map_init(&display->objects, WL_MAP_CLIENT_SIDE);
> wl_event_queue_init(&display->default_queue, display);
> diff --git a/src/wayland-private.h b/src/wayland-private.h
> index 58ac952..786b3a0 100644
> --- a/src/wayland-private.h
> +++ b/src/wayland-private.h
> @@ -216,4 +216,10 @@ struct wl_display;
> struct wl_array *
> wl_display_get_additional_shm_formats(struct wl_display *display);
>
> +static inline void *
> +zalloc(size_t s)
> +{
> + return calloc(s, 1);
> +}
Shouldn't it be calloc(1,s)? Man says:
void *calloc(size_t nmemb, size_t size);
I see this is the same definition as in scanner.c ...
Also compiler complains about implicit declaration of calloc()
Maybe we could use zalloc even in tests/test-compositor.c?
otherwise
Reviewed-by: Marek Chalupa <mchqwerty at gmail.com>
Regards,
Marek
> +
> #endif
> diff --git a/src/wayland-server.c b/src/wayland-server.c
> index 55c0cf9..9e26b18 100644
> --- a/src/wayland-server.c
> +++ b/src/wayland-server.c
> @@ -415,11 +415,10 @@ wl_client_create(struct wl_display *display, int fd)
> struct wl_client *client;
> socklen_t len;
>
> - client = malloc(sizeof *client);
> + client = zalloc(sizeof *client);
> if (client == NULL)
> return NULL;
>
> - memset(client, 0, sizeof *client);
> client->display = display;
> client->source = wl_event_loop_add_fd(display->loop, fd,
> WL_EVENT_READABLE,
> @@ -854,11 +853,10 @@ wl_socket_alloc(void)
> {
> struct wl_socket *s;
>
> - s = malloc(sizeof *s);
> + s = zalloc(sizeof *s);
> if (!s)
> return NULL;
>
> - memset(s, 0, sizeof *s);
> s->fd = -1;
> s->fd_lock = -1;
>
> diff --git a/src/wayland-shm.c b/src/wayland-shm.c
> index 0cd8c11..359c3bd 100644
> --- a/src/wayland-shm.c
> +++ b/src/wayland-shm.c
> @@ -536,12 +536,10 @@ wl_shm_buffer_begin_access(struct wl_shm_buffer *buffer)
>
> sigbus_data = pthread_getspecific(wl_shm_sigbus_data_key);
> if (sigbus_data == NULL) {
> - sigbus_data = malloc(sizeof *sigbus_data);
> + sigbus_data = zalloc(sizeof *sigbus_data);
> if (sigbus_data == NULL)
> return;
>
> - memset(sigbus_data, 0, sizeof *sigbus_data);
> -
> pthread_setspecific(wl_shm_sigbus_data_key, sigbus_data);
> }
>
>
More information about the wayland-devel
mailing list