diff options
author | Ludovic Courtès <ludo@gnu.org> | 2007-09-02 10:55:58 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2007-09-02 10:55:58 +0000 |
commit | 1ac5fb45bca1f963ccd654efda3f98604f39f5a0 (patch) | |
tree | e79ed2c29470f1000d7318e05348e01204dfbd41 /libguile/socket.c | |
parent | d7c0c26d886c35dc168cf07cf16b51c0594b21be (diff) | |
download | guile-1ac5fb45bca1f963ccd654efda3f98604f39f5a0.tar.gz |
Changes from arch/CVS synchronization
Diffstat (limited to 'libguile/socket.c')
-rw-r--r-- | libguile/socket.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libguile/socket.c b/libguile/socket.c index 4ee8a84e5..d92607f89 100644 --- a/libguile/socket.c +++ b/libguile/socket.c @@ -1262,15 +1262,19 @@ SCM_DEFINE (scm_make_socket_address, "make-socket-address", 2, 0, 1, "@code{connect} for details).") #define FUNC_NAME s_scm_make_socket_address { + SCM result = SCM_BOOL_F; struct sockaddr *c_address; size_t c_address_size; c_address = scm_c_make_socket_address (family, address, args, &c_address_size); - if (!c_address) - return SCM_BOOL_F; + if (c_address != NULL) + { + result = scm_from_sockaddr (c_address, c_address_size); + free (c_address); + } - return (scm_from_sockaddr (c_address, c_address_size)); + return result; } #undef FUNC_NAME |