guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 02/02: Fix getsockopt/setsockopt handling of SO_SNDBUF/S


From: Mark H. Weaver
Subject: [Guile-commits] 02/02: Fix getsockopt/setsockopt handling of SO_SNDBUF/SO_RCVBUF options.
Date: Fri, 13 Nov 2015 16:45:28 +0000

mhw pushed a commit to branch stable-2.0
in repository guile.

commit e94a42c7f05d4b816dcb62c139dd65291a11dd78
Author: Mark H Weaver <address@hidden>
Date:   Fri Nov 13 11:38:13 2015 -0500

    Fix getsockopt/setsockopt handling of SO_SNDBUF/SO_RCVBUF options.
    
    Reported by Park SungMin <address@hidden>
    in <https://lists.gnu.org/archive/html/guile-user/2015-11/msg00026.html>.
    
    * libguile/socket.c (scm_getsockopt, scm_setsockopt): Remove code that
      incorrectly assumed that the argument for SO_SNDBUF and SO_RCVBUF
      options was of type 'size_t'.  Both the Linux and POSIX documentation
      indicates that the argument is of type 'int', as is the case for most
      options.
---
 libguile/socket.c |   30 ++----------------------------
 1 files changed, 2 insertions(+), 28 deletions(-)

diff --git a/libguile/socket.c b/libguile/socket.c
index 5b17a74..3229ac8 100644
--- a/libguile/socket.c
+++ b/libguile/socket.c
@@ -1,5 +1,5 @@
-/* Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
- *   2006, 2007, 2009, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+/* Copyright (C) 1996-1998, 2000-2007, 2009, 2011-2015
+ *   Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -508,19 +508,7 @@ SCM_DEFINE (scm_getsockopt, "getsockopt", 3, 0, 0,
                           scm_from_int (0));
 #endif
        }
-      else
-#endif
-       if (0
-#ifdef SO_SNDBUF
-           || ioptname == SO_SNDBUF
 #endif
-#ifdef SO_RCVBUF
-           || ioptname == SO_RCVBUF
-#endif
-           )
-         {
-           return scm_from_size_t (*(size_t *) &optval);
-         }
     }
   return scm_from_int (*(int *) &optval);
 }
@@ -649,21 +637,7 @@ SCM_DEFINE (scm_setsockopt, "setsockopt", 4, 0, 0,
          optval = &opt_int;
 #endif
        }
-      else
-#endif
-       if (0
-#ifdef SO_SNDBUF
-           || ioptname == SO_SNDBUF
 #endif
-#ifdef SO_RCVBUF
-           || ioptname == SO_RCVBUF
-#endif
-           )
-         {
-           opt_int = scm_to_int (value);
-           optlen = sizeof (size_t);
-           optval = &opt_int;
-         }
     }
 
 #ifdef HAVE_STRUCT_IP_MREQ



reply via email to

[Prev in Thread] Current Thread [Next in Thread]