[libvirt] [PATCH] poll: don't return uninitialized

Jim Meyering jim at meyering.net
Thu Jan 8 08:53:05 UTC 2009


Daniel Berrange fixed this yesterday.

    http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=74e2d5b2fd5

It's in gnulib now, along with a change to make
the cpp nesting a little more readable.

This pulls the update poll.c into libvirt:

Thu Jan  8 09:48:04 CET 2009 Daniel P. Berrange <berrange at redhat.com>

	poll: don't return uninitialized
	* gnulib/lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
	[sync from gnulib also adjusts cpp indentation to reflect nesting.]

>From 212721560f3f2bcf7329c48417e0ba24243fc554 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering at redhat.com>
Date: Thu, 8 Jan 2009 09:49:53 +0100
Subject: [PATCH] poll: don't return uninitialized

* gnulib/lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
[sync from gnulib also adjusts cpp indentation to reflect nesting.]
---
 gnulib/lib/poll.c |   54 ++++++++++++++++++++++++++--------------------------
 1 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/gnulib/lib/poll.c b/gnulib/lib/poll.c
index 87ddf3c..da9c9f2 100644
--- a/gnulib/lib/poll.c
+++ b/gnulib/lib/poll.c
@@ -1,7 +1,7 @@
 /* Emulation for poll(2)
    Contributed by Paolo Bonzini.

-   Copyright 2001, 2002, 2003, 2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright 2001-2003, 2006-2009 Free Software Foundation, Inc.

    This file is part of gnulib.

@@ -29,35 +29,35 @@
 #include <assert.h>

 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-#define WIN32_NATIVE
-#include <winsock2.h>
-#include <windows.h>
-#include <io.h>
-#include <stdio.h>
-#include <conio.h>
+# define WIN32_NATIVE
+# include <winsock2.h>
+# include <windows.h>
+# include <io.h>
+# include <stdio.h>
+# include <conio.h>
 #else
-#include <sys/time.h>
-#include <sys/socket.h>
-#include <sys/select.h>
-#include <unistd.h>
+# include <sys/time.h>
+# include <sys/socket.h>
+# include <sys/select.h>
+# include <unistd.h>
 #endif

 #ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
+# include <sys/ioctl.h>
 #endif
 #ifdef HAVE_SYS_FILIO_H
-#include <sys/filio.h>
+# include <sys/filio.h>
 #endif

 #include <time.h>

 #ifndef INFTIM
-#define INFTIM (-1)
+# define INFTIM (-1)
 #endif

 /* BeOS does not have MSG_PEEK.  */
 #ifndef MSG_PEEK
-#define MSG_PEEK 0
+# define MSG_PEEK 0
 #endif

 #ifdef WIN32_NATIVE
@@ -92,9 +92,9 @@ typedef enum _FILE_INFORMATION_CLASS {
 typedef DWORD (WINAPI *PNtQueryInformationFile)
 	 (HANDLE, IO_STATUS_BLOCK *, VOID *, ULONG, FILE_INFORMATION_CLASS);

-#ifndef PIPE_BUF
-#define PIPE_BUF	512
-#endif
+# ifndef PIPE_BUF
+#  define PIPE_BUF	512
+# endif

 /* Compute revents values for file handle H.  */

@@ -234,7 +234,7 @@ compute_revents (int fd, int sought, fd_set *rfds, fd_set *wfds, fd_set *efds)
       int r;
       int socket_errno;

-#if defined __MACH__ && defined __APPLE__
+# if defined __MACH__ && defined __APPLE__
       /* There is a bug in Mac OS X that causes it to ignore MSG_PEEK
          for some kinds of descriptors.  Detect if this descriptor is a
          connected socket, a server socket, or something else using a
@@ -243,11 +243,11 @@ compute_revents (int fd, int sought, fd_set *rfds, fd_set *wfds, fd_set *efds)
       socket_errno = (r < 0) ? errno : 0;
       if (r == 0 || socket_errno == ENOTSOCK)
 	ioctl (fd, FIONREAD, &r);
-#else
+# else
       char data[64];
       r = recv (fd, data, sizeof (data), MSG_PEEK);
       socket_errno = (r < 0) ? errno : 0;
-#endif
+# endif
       if (r == 0)
 	happened |= POLLHUP;

@@ -288,7 +288,7 @@ poll (pfd, nfd, timeout)
   int maxfd, rc;
   nfds_t i;

-#ifdef _SC_OPEN_MAX
+# ifdef _SC_OPEN_MAX
   static int sc_open_max = -1;

   if (nfd < 0
@@ -299,15 +299,15 @@ poll (pfd, nfd, timeout)
       errno = EINVAL;
       return -1;
     }
-#else /* !_SC_OPEN_MAX */
-#ifdef OPEN_MAX
+# else /* !_SC_OPEN_MAX */
+#  ifdef OPEN_MAX
   if (nfd < 0 || nfd > OPEN_MAX)
     {
       errno = EINVAL;
       return -1;
     }
-#endif /* OPEN_MAX -- else, no check is needed */
-#endif /* !_SC_OPEN_MAX */
+#  endif /* OPEN_MAX -- else, no check is needed */
+# endif /* !_SC_OPEN_MAX */

   /* EFAULT is not necessary to implement, but let's do it in the
      simplest case. */
@@ -405,7 +405,7 @@ poll (pfd, nfd, timeout)
   BOOL poll_again;
   MSG msg;
   char sockbuf[256];
-  int rc;
+  int rc = 0;
   nfds_t i;

   if (nfd < 0 || timeout < -1)
--
1.6.1.121.g866a4a




More information about the libvir-list mailing list