From 1b6c0163d9e1a76644b12a31c31a8ea5813e1480 Mon Sep 17 00:00:00 2001 From: "J.H.M. Dassen" Date: Mon, 14 Dec 1998 23:48:11 +0100 Subject: [PATCH] More portable initialization of sigaction structures. (jdassen@wi.leidenuniv.nl) Rev: src/io.c:1.34 Rev: src/reaper.c:1.6 --- src/io.c | 8 ++++---- src/reaper.c | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/io.c b/src/io.c index e1a81b51..c79ef54f 100644 --- a/src/io.c +++ b/src/io.c @@ -123,7 +123,7 @@ int io_iter(struct io_backend *b) /* Fill out fds-array */ { struct lsh_fd *fd; - int i; + unsigned long i; int all_events = 0; for (fd = b->files, i = 0; fd; fd = fd->next, i++) @@ -179,7 +179,7 @@ int io_iter(struct io_backend *b) * head of the list, or set the close_now flag on any fd. */ struct lsh_fd *fd; - int i; + unsigned long i; for(fd = b->files, i=0; fd; fd = fd->next, i++) { @@ -393,11 +393,11 @@ static void connect_callback(struct lsh_fd *fd) void io_run(struct io_backend *b) { struct sigaction pipe; + memset(&pipe, 0, sizeof(pipe)); pipe.sa_handler = SIG_IGN; sigemptyset(&pipe.sa_mask); pipe.sa_flags = 0; - pipe.sa_restorer = NULL; if (sigaction(SIGPIPE, &pipe, NULL) < 0) fatal("Failed to ignore SIGPIPE.\n"); @@ -473,7 +473,7 @@ get_inaddr(struct sockaddr_in * addr, hp = gethostbyname(host); if (hp == NULL) return 0; - memcpy(&addr->sin_addr, hp->h_addr, hp->h_length); + memcpy(&addr->sin_addr, hp->h_addr, (size_t) (hp->h_length)); addr->sin_family = hp->h_addrtype; } } diff --git a/src/reaper.c b/src/reaper.c index f7f37899..f3f95636 100644 --- a/src/reaper.c +++ b/src/reaper.c @@ -158,16 +158,17 @@ void reaper_run(struct reap *r, struct io_backend *b) struct sigaction pipe; struct sigaction chld; + + memset(&pipe, 0, sizeof(pipe)); + memset(&chld, 0, sizeof(chld)); pipe.sa_handler = SIG_IGN; sigemptyset(&pipe.sa_mask); pipe.sa_flags = 0; - pipe.sa_restorer = NULL; chld.sa_handler = child_handler; sigemptyset(&chld.sa_mask); chld.sa_flags = SA_NOCLDSTOP; - chld.sa_restorer = NULL; if (sigaction(SIGPIPE, &pipe, NULL) < 0) fatal("Failed to ignore SIGPIPE.\n"); -- GitLab