socket: Fix style of ssh_socket_pollcallback
Signed-off-by: Alan Dunn <amdunn@gmail.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Этот коммит содержится в:
родитель
47bd0b6d1f
Коммит
d5aeebe323
21
src/socket.c
21
src/socket.c
@ -216,7 +216,8 @@ void ssh_socket_set_callbacks(ssh_socket s, ssh_socket_callbacks callbacks){
|
|||||||
* @return 0 on success, < 0 when the poll object has been removed
|
* @return 0 on success, < 0 when the poll object has been removed
|
||||||
* from its poll context.
|
* from its poll context.
|
||||||
*/
|
*/
|
||||||
int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd, int revents, void *v_s){
|
int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd,
|
||||||
|
int revents, void *v_s) {
|
||||||
ssh_socket s = (ssh_socket)v_s;
|
ssh_socket s = (ssh_socket)v_s;
|
||||||
char buffer[MAX_BUF_SIZE];
|
char buffer[MAX_BUF_SIZE];
|
||||||
int r;
|
int r;
|
||||||
@ -236,9 +237,10 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd, int r
|
|||||||
}
|
}
|
||||||
s->last_errno = err;
|
s->last_errno = err;
|
||||||
ssh_socket_close(s);
|
ssh_socket_close(s);
|
||||||
if(s->callbacks && s->callbacks->connected)
|
if (s->callbacks && s->callbacks->connected) {
|
||||||
s->callbacks->connected(SSH_SOCKET_CONNECTED_ERROR, err,
|
s->callbacks->connected(SSH_SOCKET_CONNECTED_ERROR, err,
|
||||||
s->callbacks->userdata);
|
s->callbacks->userdata);
|
||||||
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
/* Then we are in a more standard kind of error */
|
/* Then we are in a more standard kind of error */
|
||||||
@ -253,8 +255,7 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd, int r
|
|||||||
ssh_poll_remove_events(p, POLLIN);
|
ssh_poll_remove_events(p, POLLIN);
|
||||||
}
|
}
|
||||||
if (s->callbacks && s->callbacks->exception) {
|
if (s->callbacks && s->callbacks->exception) {
|
||||||
s->callbacks->exception(
|
s->callbacks->exception(SSH_SOCKET_EXCEPTION_ERROR,
|
||||||
SSH_SOCKET_EXCEPTION_ERROR,
|
|
||||||
s->last_errno, s->callbacks->userdata);
|
s->last_errno, s->callbacks->userdata);
|
||||||
/* p may have been freed, so don't use it
|
/* p may have been freed, so don't use it
|
||||||
* anymore in this function */
|
* anymore in this function */
|
||||||
@ -270,8 +271,7 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd, int r
|
|||||||
ssh_poll_remove_events(p, POLLIN);
|
ssh_poll_remove_events(p, POLLIN);
|
||||||
}
|
}
|
||||||
if (s->callbacks && s->callbacks->exception) {
|
if (s->callbacks && s->callbacks->exception) {
|
||||||
s->callbacks->exception(
|
s->callbacks->exception(SSH_SOCKET_EXCEPTION_EOF,
|
||||||
SSH_SOCKET_EXCEPTION_EOF,
|
|
||||||
0, s->callbacks->userdata);
|
0, s->callbacks->userdata);
|
||||||
/* p may have been freed, so don't use it
|
/* p may have been freed, so don't use it
|
||||||
* anymore in this function */
|
* anymore in this function */
|
||||||
@ -317,8 +317,10 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd, int r
|
|||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if(s->callbacks && s->callbacks->connected)
|
if (s->callbacks && s->callbacks->connected) {
|
||||||
s->callbacks->connected(SSH_SOCKET_CONNECTED_OK,0,s->callbacks->userdata);
|
s->callbacks->connected(SSH_SOCKET_CONNECTED_OK, 0,
|
||||||
|
s->callbacks->userdata);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/* So, we can write data */
|
/* So, we can write data */
|
||||||
@ -332,7 +334,8 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd, int r
|
|||||||
ssh_socket_nonblocking_flush(s);
|
ssh_socket_nonblocking_flush(s);
|
||||||
} else if (s->callbacks && s->callbacks->controlflow) {
|
} else if (s->callbacks && s->callbacks->controlflow) {
|
||||||
/* Otherwise advertise the upper level that write can be done */
|
/* Otherwise advertise the upper level that write can be done */
|
||||||
s->callbacks->controlflow(SSH_SOCKET_FLOW_WRITEWONTBLOCK,s->callbacks->userdata);
|
s->callbacks->controlflow(SSH_SOCKET_FLOW_WRITEWONTBLOCK,
|
||||||
|
s->callbacks->userdata);
|
||||||
}
|
}
|
||||||
/* TODO: Find a way to put back POLLOUT when buffering occurs */
|
/* TODO: Find a way to put back POLLOUT when buffering occurs */
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user