diff options
Diffstat (limited to 'libftpconn/names.c')
-rw-r--r-- | libftpconn/names.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libftpconn/names.c b/libftpconn/names.c index 7b0e3977..4536b723 100644 --- a/libftpconn/names.c +++ b/libftpconn/names.c @@ -78,6 +78,7 @@ ftp_conn_cont_get_names (struct ftp_conn *conn, int fd, void *state, size_t name_len; error_t err = 0; struct get_names_state *s = state; + int (*icheck) (struct ftp_conn *conn) = conn->hooks->interrupt_check; /* We always consume full lines, so we know that we have to read more when we first get called. */ @@ -88,6 +89,12 @@ ftp_conn_cont_get_names (struct ftp_conn *conn, int fd, void *state, goto finished; } + if (icheck && (*icheck) (conn)) + { + err = EINTR; + goto finished; + } + if (rd == 0) /* EOF */ if (s->buf_len == 0) |