[PATCH] silence build warning
Christian Hergert
christian.hergert at gmail.com
Mon Jan 10 20:58:06 PST 2011
Would the TEMP_FAILURE_RETRY() glibc macro be useful here?
http://www.gnu.org/s/libc/manual/html_node/Interrupted-Primitives.html
-- Christian
On Mon, Jan 10, 2011 at 8:00 PM, wucan <wu.canus at gmail.com> wrote:
> From 5ec4fbccc16d2626e212c2bc1fdec51498b15033 Mon Sep 17 00:00:00 2001
> From: wucan <wu.canus at gmail.com>
> Date: Tue, 11 Jan 2011 11:45:24 +0800
> Subject: silence build warning
>
> The read()/write()/pipe() is tagged with __warn_unused_result__
> ---
> clients/dnd.c | 7 ++++---
> clients/terminal.c | 12 ++++++------
> wayland/event-loop.c | 6 ++++--
> 3 files changed, 14 insertions(+), 11 deletions(-)
>
> diff --git a/clients/dnd.c b/clients/dnd.c
> index b7f9f39..b9d0747 100644
> --- a/clients/dnd.c
> +++ b/clients/dnd.c
> @@ -297,6 +297,7 @@ static void
> drag_finish(void *data, struct wl_drag *drag, int fd)
> {
> struct dnd_drag *dnd_drag = data;
> + int rc;
>
> if (!dnd_drag->mime_type) {
> dnd_add_item(dnd_drag->dnd, dnd_drag->item);
> @@ -314,7 +315,7 @@ drag_finish(void *data, struct wl_drag *drag, int fd)
>
> fprintf(stderr, "got 'finish', fd %d, sending dnd_flower_message\n",
> fd);
>
> - write(fd, &dnd_flower_message, sizeof dnd_flower_message);
> + rc = write(fd, &dnd_flower_message, sizeof dnd_flower_message);
> close(fd);
>
> /* The 'finish' event marks the end of the session on the drag
> @@ -459,7 +460,7 @@ drag_offer_drop(void *data, struct wl_drag_offer *offer)
> {
> struct dnd_offer *dnd_offer = data;
> GIOChannel *channel;
> - int p[2];
> + int p[2], rc;
>
> if (!dnd_offer->drag_type) {
> fprintf(stderr, "got 'drop', but no target\n");
> @@ -470,7 +471,7 @@ drag_offer_drop(void *data, struct wl_drag_offer *offer)
> fprintf(stderr, "got 'drop', sending write end of pipe\n");
>
> dnd_offer->refcount++;
> - pipe(p);
> + rc = pipe(p);
> wl_drag_offer_receive(offer, p[1]);
> close(p[1]);
>
> diff --git a/clients/terminal.c b/clients/terminal.c
> index 1c7cbbf..596b634 100644
> --- a/clients/terminal.c
> +++ b/clients/terminal.c
> @@ -962,7 +962,7 @@ handle_escape(struct terminal *terminal)
> union utf8_char *row;
> struct attr *attr_row;
> char *p;
> - int i, count, x, y, top, bottom;
> + int i, count, x, y, top, bottom, rc;
> int args[10], set[10] = { 0, };
> char response[MAX_RESPONSE] = {0, };
>
> @@ -1196,7 +1196,7 @@ handle_escape(struct terminal *terminal)
> terminal->last_char.byte[0] = 0;
> break;
> case 'c': /* Primary DA */
> - write(terminal->master, "\e[?6c", 5);
> + rc = write(terminal->master, "\e[?6c", 5);
> break;
> case 'd': /* VPA */
> x = set[0] ? args[0] : 1;
> @@ -1245,13 +1245,13 @@ handle_escape(struct terminal *terminal)
> case 'n': /* DSR */
> i = set[0] ? args[0] : 0;
> if (i == 0 || i == 5) {
> - write(terminal->master, "\e[0n", 4);
> + rc = write(terminal->master, "\e[0n", 4);
> } else if (i == 6) {
> snprintf(response, MAX_RESPONSE, "\e[%d;%dR",
> terminal->origin_mode ?
> terminal->row+terminal->margin_top : terminal->row+1,
> terminal->column+1);
> - write(terminal->master, response, strlen(response));
> + rc = write(terminal->master, response, strlen(response));
> }
> break;
> case 'r':
> @@ -1679,7 +1679,7 @@ key_handler(struct window *window, uint32_t key,
> uint32_t sym,
> {
> struct terminal *terminal = data;
> char ch[MAX_RESPONSE];
> - int len = 0;
> + int len = 0, rc;
>
> switch (sym) {
> case XK_F11:
> @@ -1796,7 +1796,7 @@ key_handler(struct window *window, uint32_t key,
> uint32_t sym,
> }
>
> if (state && len > 0)
> - write(terminal->master, ch, len);
> + rc = write(terminal->master, ch, len);
> }
>
> static void
> diff --git a/wayland/event-loop.c b/wayland/event-loop.c
> index bf2a9aa..bedbddb 100644
> --- a/wayland/event-loop.c
> +++ b/wayland/event-loop.c
> @@ -160,8 +160,9 @@ wl_event_source_timer_dispatch(struct wl_event_source
> *source,
> struct wl_event_source_timer *timer_source =
> (struct wl_event_source_timer *) source;
> uint64_t expires;
> + int rc;
>
> - read(timer_source->fd, &expires, sizeof expires);
> + rc = read(timer_source->fd, &expires, sizeof expires);
>
> timer_source->func(timer_source->data);
> }
> @@ -256,8 +257,9 @@ wl_event_source_signal_dispatch(struct wl_event_source
> *source,
> struct wl_event_source_signal *signal_source =
> (struct wl_event_source_signal *) source;
> struct signalfd_siginfo signal_info;
> + int rc;
>
> - read(signal_source->fd, &signal_info, sizeof signal_info);
> + rc = read(signal_source->fd, &signal_info, sizeof signal_info);
>
> signal_source->func(signal_source->signal_number, signal_source->data);
> }
> --
> 1.7.3.2.168.gd6b63
>
> --
> wucan
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>
More information about the wayland-devel
mailing list