summaryrefslogtreecommitdiff
path: root/libftpconn
diff options
context:
space:
mode:
Diffstat (limited to 'libftpconn')
-rw-r--r--libftpconn/reply.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libftpconn/reply.c b/libftpconn/reply.c
index 260cfb71..4f30f751 100644
--- a/libftpconn/reply.c
+++ b/libftpconn/reply.c
@@ -60,6 +60,7 @@ ftp_conn_getline (struct ftp_conn *conn, const char **line, size_t *line_len)
{
char *l = conn->line;
size_t offs = conn->line_offs, len = conn->line_len, sz = conn->line_sz;
+ int (*icheck) (struct ftp_conn *conn) = conn->hooks->interrupt_check;
for (;;)
{
@@ -127,6 +128,9 @@ ftp_conn_getline (struct ftp_conn *conn, const char **line, size_t *line_len)
len += rd;
conn->line_len = len;
+
+ if (icheck && (*icheck) (conn))
+ return EINTR;
}
}