From 10c1f37a7c75a2b9a9702e0646bf2865ed88e147 Mon Sep 17 00:00:00 2001 From: Christopher James Halse Rogers Date: Tue, 20 Nov 2018 18:02:49 +1100 Subject: [PATCH] server: Split out varargs version of wl_resource_post_error. This will allow other wrappers around wl_resource_post_error to accept variable argument lists. Signed-off-by: Christopher James Halse Rogers Acked-by: Pekka Paalanen Reviewed-by: Pekka Paalanen --- src/wayland-server.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/wayland-server.c b/src/wayland-server.c index eae8d2e7..c0ad229b 100644 --- a/src/wayland-server.c +++ b/src/wayland-server.c @@ -273,17 +273,14 @@ wl_resource_queue_event(struct wl_resource *resource, uint32_t opcode, ...) wl_resource_queue_event_array(resource, opcode, args); } -WL_EXPORT void -wl_resource_post_error(struct wl_resource *resource, - uint32_t code, const char *msg, ...) +static void +wl_resource_post_error_vargs(struct wl_resource *resource, + uint32_t code, const char *msg, va_list argp) { struct wl_client *client = resource->client; char buffer[128]; - va_list ap; - va_start(ap, msg); - vsnprintf(buffer, sizeof buffer, msg, ap); - va_end(ap); + vsnprintf(buffer, sizeof buffer, msg, argp); /* * When a client aborts, its resources are destroyed in id order, @@ -298,6 +295,18 @@ wl_resource_post_error(struct wl_resource *resource, wl_resource_post_event(client->display_resource, WL_DISPLAY_ERROR, resource, code, buffer); client->error = 1; + +} + +WL_EXPORT void +wl_resource_post_error(struct wl_resource *resource, + uint32_t code, const char *msg, ...) +{ + va_list ap; + + va_start(ap, msg); + wl_resource_post_error_vargs(resource, code, msg, ap); + va_end(ap); } static void