@@ -85,26 +85,7 @@ static inline void php_io_poll_throw_failed_operation(
8585/* Event enum to bit mask mapping */
8686static uint32_t php_io_poll_event_enum_to_bit (zend_object * event_enum )
8787{
88- zval * case_name = zend_enum_fetch_case_name (event_enum );
89- const char * name = Z_STRVAL_P (case_name );
90-
91- if (strcmp (name , "Read" ) == 0 ) {
92- return PHP_POLL_READ ;
93- } else if (strcmp (name , "Write" ) == 0 ) {
94- return PHP_POLL_WRITE ;
95- } else if (strcmp (name , "Error" ) == 0 ) {
96- return PHP_POLL_ERROR ;
97- } else if (strcmp (name , "HangUp" ) == 0 ) {
98- return PHP_POLL_HUP ;
99- } else if (strcmp (name , "ReadHangUp" ) == 0 ) {
100- return PHP_POLL_RDHUP ;
101- } else if (strcmp (name , "OneShot" ) == 0 ) {
102- return PHP_POLL_ONESHOT ;
103- } else if (strcmp (name , "EdgeTriggered" ) == 0 ) {
104- return PHP_POLL_ET ;
105- }
106-
107- return 0 ;
88+ return 1 << (zend_enum_fetch_case_id (event_enum ) - 1 );
10889}
10990
11091static uint32_t php_io_poll_event_enums_to_events (zval * event_enums )
@@ -179,24 +160,7 @@ static zend_result php_io_poll_events_to_event_enums(uint32_t events, zval *even
179160/* Backend enum name to backend type mapping */
180161static php_poll_backend_type php_io_poll_backend_enum_to_type (zend_object * backend_enum )
181162{
182- zval * case_name = zend_enum_fetch_case_name (backend_enum );
183- const char * name = Z_STRVAL_P (case_name );
184-
185- if (strcmp (name , "Auto" ) == 0 ) {
186- return PHP_POLL_BACKEND_AUTO ;
187- } else if (strcmp (name , "Poll" ) == 0 ) {
188- return PHP_POLL_BACKEND_POLL ;
189- } else if (strcmp (name , "Epoll" ) == 0 ) {
190- return PHP_POLL_BACKEND_EPOLL ;
191- } else if (strcmp (name , "Kqueue" ) == 0 ) {
192- return PHP_POLL_BACKEND_KQUEUE ;
193- } else if (strcmp (name , "EventPorts" ) == 0 ) {
194- return PHP_POLL_BACKEND_EVENTPORT ;
195- } else if (strcmp (name , "WSAPoll" ) == 0 ) {
196- return PHP_POLL_BACKEND_WSAPOLL ;
197- }
198-
199- return PHP_POLL_BACKEND_AUTO ;
163+ return zend_enum_fetch_case_id (backend_enum ) - 2 ;
200164}
201165
202166static const char * php_io_poll_backend_type_to_name (php_poll_backend_type type )
0 commit comments