Fixed `set' to hold the correct value when setting the flags.

2002-08-28  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-tcp-stream-openssl.c (stream_setsockopt): Fixed `set' to
	hold the correct value when setting the flags.

svn path=/trunk/; revision=17913
This commit is contained in:
Jeffrey Stedfast
2002-08-29 03:46:53 +00:00
committed by Jeffrey Stedfast
parent 1bde941413
commit 5df01b29a2
2 changed files with 11 additions and 8 deletions

View File

@ -1,5 +1,8 @@
2002-08-28 Jeffrey Stedfast <fejj@ximian.com> 2002-08-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c (stream_setsockopt): Fixed `set' to
hold the correct value when setting the flags.
* camel-tcp-stream-raw.c (stream_setsockopt): Fixed `set' to hold * camel-tcp-stream-raw.c (stream_setsockopt): Fixed `set' to hold
the correct value when setting the flags. the correct value when setting the flags.

View File

@ -832,16 +832,16 @@ stream_getsockopt (CamelTcpStream *stream, CamelSockOptData *data)
if (data->option == CAMEL_SOCKOPT_NONBLOCKING) { if (data->option == CAMEL_SOCKOPT_NONBLOCKING) {
int flags; int flags;
flags = fcntl (((CamelTcpStreamSSL *)stream)->priv->sockfd, F_GETFL); flags = fcntl (((CamelTcpStreamSSL *) stream)->priv->sockfd, F_GETFL);
if (flags == -1) if (flags == -1)
return -1; return -1;
data->value.non_blocking = flags & O_NONBLOCK; data->value.non_blocking = flags & O_NONBLOCK ? TRUE : FALSE;
return 0; return 0;
} }
return getsockopt (((CamelTcpStreamSSL *)stream)->priv->sockfd, return getsockopt (((CamelTcpStreamSSL *) stream)->priv->sockfd,
get_sockopt_level (data), get_sockopt_level (data),
optname, optname,
(void *) &data->value, (void *) &data->value,
@ -859,20 +859,20 @@ stream_setsockopt (CamelTcpStream *stream, const CamelSockOptData *data)
if (data->option == CAMEL_SOCKOPT_NONBLOCKING) { if (data->option == CAMEL_SOCKOPT_NONBLOCKING) {
int flags, set; int flags, set;
flags = fcntl (((CamelTcpStreamSSL *)stream)->priv->sockfd, F_GETFL); flags = fcntl (((CamelTcpStreamSSL *) stream)->priv->sockfd, F_GETFL);
if (flags == -1) if (flags == -1)
return -1; return -1;
set = data->value.non_blocking ? 1 : 0; set = data->value.non_blocking ? O_NONBLOCK : 0;
flags = (flags & ~O_NONBLOCK) | (set & O_NONBLOCK); flags = (flags & ~O_NONBLOCK) | set;
if (fcntl (((CamelTcpStreamSSL *)stream)->priv->sockfd, F_SETFL, flags) == -1) if (fcntl (((CamelTcpStreamSSL *) stream)->priv->sockfd, F_SETFL, flags) == -1)
return -1; return -1;
return 0; return 0;
} }
return setsockopt (((CamelTcpStreamSSL *)stream)->priv->sockfd, return setsockopt (((CamelTcpStreamSSL *) stream)->priv->sockfd,
get_sockopt_level (data), get_sockopt_level (data),
optname, optname,
(void *) &data->value, (void *) &data->value,