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:

committed by
Jeffrey Stedfast

parent
1bde941413
commit
5df01b29a2
@ -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.
|
||||||
|
|
||||||
|
@ -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,
|
||||||
|
Reference in New Issue
Block a user