diff options
author | Cy Schubert <cy@FreeBSD.org> | 2023-11-14 23:04:28 +0000 |
---|---|---|
committer | Cy Schubert <cy@FreeBSD.org> | 2023-11-15 01:13:02 +0000 |
commit | b50261e21f39a6c7249a49e7b60aa878c98512a8 (patch) | |
tree | c71edd5f4149807181c0a19df38f688f63730937 /contrib/libevent/bufferevent_filter.c | |
parent | fa08011a521c1f15ca44d6a4f30a318d0a37a3a7 (diff) | |
parent | 5223d1d95fddcef6f9a36e264a5800bd907ade8b (diff) | |
download | src-b50261e21f39a6c7249a49e7b60aa878c98512a8.tar.gz src-b50261e21f39a6c7249a49e7b60aa878c98512a8.zip |
Diffstat (limited to 'contrib/libevent/bufferevent_filter.c')
-rw-r--r-- | contrib/libevent/bufferevent_filter.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/contrib/libevent/bufferevent_filter.c b/contrib/libevent/bufferevent_filter.c index d47f9452bbd2..a7bdedddfe1d 100644 --- a/contrib/libevent/bufferevent_filter.c +++ b/contrib/libevent/bufferevent_filter.c @@ -118,11 +118,11 @@ static inline struct bufferevent_filtered * upcast(struct bufferevent *bev) { struct bufferevent_filtered *bev_f; - if (bev->be_ops != &bufferevent_ops_filter) + if (!BEV_IS_FILTER(bev)) return NULL; bev_f = (void*)( ((char*)bev) - evutil_offsetof(struct bufferevent_filtered, bev.bev)); - EVUTIL_ASSERT(bev_f->bev.bev.be_ops == &bufferevent_ops_filter); + EVUTIL_ASSERT(BEV_IS_FILTER(&bev_f->bev.bev)); return bev_f; } @@ -160,7 +160,7 @@ be_null_filter(struct evbuffer *src, struct evbuffer *dst, ev_ssize_t lim, enum bufferevent_flush_mode state, void *ctx) { (void)state; - if (evbuffer_remove_buffer(src, dst, lim) == 0) + if (evbuffer_remove_buffer(src, dst, lim) >= 0) return BEV_OK; else return BEV_ERROR; @@ -605,6 +605,7 @@ be_filter_ctrl(struct bufferevent *bev, enum bufferevent_ctrl_op op, data->ptr = bevf->underlying; return 0; case BEV_CTRL_SET_FD: + case BEV_CTRL_GET_FD: bevf = upcast(bev); if (bevf->underlying && @@ -612,9 +613,10 @@ be_filter_ctrl(struct bufferevent *bev, enum bufferevent_ctrl_op op, bevf->underlying->be_ops->ctrl) { return (bevf->underlying->be_ops->ctrl)(bevf->underlying, op, data); } + EVUTIL_FALLTHROUGH; - case BEV_CTRL_GET_FD: case BEV_CTRL_CANCEL_ALL: + EVUTIL_FALLTHROUGH; default: return -1; } |