← Commit list

9595921b06

Daniel Stenberg
Daniel Stenberg
2025-09-25
FAILED Duration: 205s

Subject

libssh: clarify myssh_block2waitfor

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/vssh/libssh.c+6 -9
@@ -2392,19 +2392,16 @@ static void myssh_block2waitfor(struct connectdata *conn,
struct ssh_conn *sshc,
bool block)
{
- /* If it did not block, or nothing was returned by ssh_get_poll_flags
- * have the original set */
- conn->waitfor = sshc->orig_waitfor;
-
if(block) {
int dir = ssh_get_poll_flags(sshc->ssh_session);
- conn->waitfor = 0;
/* translate the libssh define bits into our own bit defines */
- if(dir & SSH_READ_PENDING)
- conn->waitfor |= KEEP_RECV;
- if(dir & SSH_WRITE_PENDING)
- conn->waitfor |= KEEP_SEND;
+ conn->waitfor =
+ ((dir & SSH_READ_PENDING) ? KEEP_RECV : 0) |
+ ((dir & SSH_WRITE_PENDING) ? KEEP_SEND : 0);
}
+ else
+ /* if it did not block, use the original set */
+ conn->waitfor = sshc->orig_waitfor;
}
/* called repeatedly until done from multi.c */