Skip to content

Commit 56faf02

Browse files
ddccazat
authored andcommitted
bufferevent: refactor to use type check macros
(cherry picked from commit 92cc0b9)
1 parent 303d6d7 commit 56faf02

File tree

6 files changed

+19
-12
lines changed

6 files changed

+19
-12
lines changed

bufferevent-internal.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,13 @@ extern const struct bufferevent_ops bufferevent_ops_pair;
306306
#define BEV_IS_FILTER(bevp) ((bevp)->be_ops == &bufferevent_ops_filter)
307307
#define BEV_IS_PAIR(bevp) ((bevp)->be_ops == &bufferevent_ops_pair)
308308

309+
#if defined(EVENT__HAVE_OPENSSL)
310+
extern const struct bufferevent_ops bufferevent_ops_openssl;
311+
#define BEV_IS_OPENSSL(bevp) ((bevp)->be_ops == &bufferevent_ops_openssl)
312+
#else
313+
#define BEV_IS_OPENSSL(bevp) 0
314+
#endif
315+
309316
#ifdef _WIN32
310317
extern const struct bufferevent_ops bufferevent_ops_async;
311318
#define BEV_IS_ASYNC(bevp) ((bevp)->be_ops == &bufferevent_ops_async)

bufferevent_async.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ static inline struct bufferevent_async *
104104
upcast(struct bufferevent *bev)
105105
{
106106
struct bufferevent_async *bev_a;
107-
if (bev->be_ops != &bufferevent_ops_async)
107+
if (!BEV_IS_ASYNC(bev))
108108
return NULL;
109109
bev_a = EVUTIL_UPCAST(bev, struct bufferevent_async, bev.bev);
110110
return bev_a;

bufferevent_filter.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,11 +118,11 @@ static inline struct bufferevent_filtered *
118118
upcast(struct bufferevent *bev)
119119
{
120120
struct bufferevent_filtered *bev_f;
121-
if (bev->be_ops != &bufferevent_ops_filter)
121+
if (!BEV_IS_FILTER(bev))
122122
return NULL;
123123
bev_f = (void*)( ((char*)bev) -
124124
evutil_offsetof(struct bufferevent_filtered, bev.bev));
125-
EVUTIL_ASSERT(bev_f->bev.bev.be_ops == &bufferevent_ops_filter);
125+
EVUTIL_ASSERT(BEV_IS_FILTER(&bev_f->bev.bev));
126126
return bev_f;
127127
}
128128

bufferevent_openssl.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -354,11 +354,11 @@ static inline struct bufferevent_openssl *
354354
upcast(struct bufferevent *bev)
355355
{
356356
struct bufferevent_openssl *bev_o;
357-
if (bev->be_ops != &bufferevent_ops_openssl)
357+
if (!BEV_IS_OPENSSL(bev))
358358
return NULL;
359359
bev_o = (void*)( ((char*)bev) -
360360
evutil_offsetof(struct bufferevent_openssl, bev.bev));
361-
EVUTIL_ASSERT(bev_o->bev.bev.be_ops == &bufferevent_ops_openssl);
361+
EVUTIL_ASSERT(BEV_IS_OPENSSL(&bev_o->bev.bev));
362362
return bev_o;
363363
}
364364

@@ -803,7 +803,7 @@ consider_reading(struct bufferevent_openssl *bev_ssl)
803803

804804
if (bev_ssl->bev.read_suspended)
805805
break;
806-
806+
807807
/* Read all pending data. This won't hit the network
808808
* again, and will (most importantly) put us in a state
809809
* where we don't need to read anything else until the

bufferevent_pair.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ static inline struct bufferevent_pair *
5656
upcast(struct bufferevent *bev)
5757
{
5858
struct bufferevent_pair *bev_p;
59-
if (bev->be_ops != &bufferevent_ops_pair)
59+
if (!BEV_IS_PAIR(bev))
6060
return NULL;
6161
bev_p = EVUTIL_UPCAST(bev, struct bufferevent_pair, bev.bev);
62-
EVUTIL_ASSERT(bev_p->bev.bev.be_ops == &bufferevent_ops_pair);
62+
EVUTIL_ASSERT(BEV_IS_PAIR(&bev_p->bev.bev));
6363
return bev_p;
6464
}
6565

bufferevent_sock.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,7 @@ be_socket_destruct(struct bufferevent *bufev)
607607
struct bufferevent_private *bufev_p =
608608
EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
609609
evutil_socket_t fd;
610-
EVUTIL_ASSERT(bufev->be_ops == &bufferevent_ops_socket);
610+
EVUTIL_ASSERT(BEV_IS_SOCKET(bufev));
611611

612612
fd = event_get_fd(&bufev->ev_read);
613613

@@ -632,7 +632,7 @@ be_socket_setfd(struct bufferevent *bufev, evutil_socket_t fd)
632632
EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
633633

634634
BEV_LOCK(bufev);
635-
EVUTIL_ASSERT(bufev->be_ops == &bufferevent_ops_socket);
635+
EVUTIL_ASSERT(BEV_IS_SOCKET(bufev));
636636

637637
event_del(&bufev->ev_read);
638638
event_del(&bufev->ev_write);
@@ -662,7 +662,7 @@ bufferevent_priority_set(struct bufferevent *bufev, int priority)
662662
EVUTIL_UPCAST(bufev, struct bufferevent_private, bev);
663663

664664
BEV_LOCK(bufev);
665-
if (bufev->be_ops != &bufferevent_ops_socket)
665+
if (!BEV_IS_SOCKET(bufev))
666666
goto done;
667667

668668
if (event_priority_set(&bufev->ev_read, priority) == -1)
@@ -685,7 +685,7 @@ bufferevent_base_set(struct event_base *base, struct bufferevent *bufev)
685685
int res = -1;
686686

687687
BEV_LOCK(bufev);
688-
if (bufev->be_ops != &bufferevent_ops_socket)
688+
if (!BEV_IS_SOCKET(bufev))
689689
goto done;
690690

691691
bufev->ev_base = base;

0 commit comments

Comments
 (0)