[PATCH] silence build warning
wucan
wu.canus at gmail.com
Mon Jan 10 21:45:53 PST 2011
On 01/11/2011 12:58 PM, Christian Hergert wrote:
> Would the TEMP_FAILURE_RETRY() glibc macro be useful here?
>
> http://www.gnu.org/s/libc/manual/html_node/Interrupted-Primitives.html
Well, it should helper, but It's seem there are few codes really use
this macro. I think we all dislike to use it , as that will lead codes
messy, and if we really want to handle the return code, we should had a
safe _exit_ method, else we'll stuck in the checking loop, in case.
> -- 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
>>
--
wucan
More information about the wayland-devel
mailing list