@@ -301,7 +301,7 @@ PHP_METHOD(Server, getType)
301
301
}
302
302
303
303
if ((sd = mongoc_client_get_server_description (intern -> client , intern -> server_id ))) {
304
- RETVAL_LONG (sd -> type );
304
+ RETVAL_LONG (php_phongo_server_description_type ( sd ) );
305
305
mongoc_server_description_destroy (sd );
306
306
return ;
307
307
}
@@ -325,7 +325,7 @@ PHP_METHOD(Server, isPrimary)
325
325
}
326
326
327
327
if ((sd = mongoc_client_get_server_description (intern -> client , intern -> server_id ))) {
328
- RETVAL_BOOL (sd -> type == MONGOC_SERVER_RS_PRIMARY );
328
+ RETVAL_BOOL (! strcmp ( mongoc_server_description_type ( sd ), php_phongo_server_description_type_map [ PHONGO_SERVER_RS_PRIMARY ]. name ) );
329
329
mongoc_server_description_destroy (sd );
330
330
return ;
331
331
}
@@ -349,7 +349,7 @@ PHP_METHOD(Server, isSecondary)
349
349
}
350
350
351
351
if ((sd = mongoc_client_get_server_description (intern -> client , intern -> server_id ))) {
352
- RETVAL_BOOL (sd -> type == MONGOC_SERVER_RS_SECONDARY );
352
+ RETVAL_BOOL (! strcmp ( mongoc_server_description_type ( sd ), php_phongo_server_description_type_map [ PHONGO_SERVER_RS_SECONDARY ]. name ) );
353
353
mongoc_server_description_destroy (sd );
354
354
return ;
355
355
}
@@ -373,7 +373,7 @@ PHP_METHOD(Server, isArbiter)
373
373
}
374
374
375
375
if ((sd = mongoc_client_get_server_description (intern -> client , intern -> server_id ))) {
376
- RETVAL_BOOL (sd -> type == MONGOC_SERVER_RS_ARBITER );
376
+ RETVAL_BOOL (! strcmp ( mongoc_server_description_type ( sd ), php_phongo_server_description_type_map [ PHONGO_SERVER_RS_ARBITER ]. name ) );
377
377
mongoc_server_description_destroy (sd );
378
378
return ;
379
379
}
@@ -622,15 +622,15 @@ PHP_MINIT_FUNCTION(Server)
622
622
php_phongo_handler_server .offset = XtOffsetOf (php_phongo_server_t , std );
623
623
#endif
624
624
625
- zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_UNKNOWN" ), MONGOC_SERVER_UNKNOWN TSRMLS_CC );
626
- zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_STANDALONE" ), MONGOC_SERVER_STANDALONE TSRMLS_CC );
627
- zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_MONGOS" ), MONGOC_SERVER_MONGOS TSRMLS_CC );
628
- zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_POSSIBLE_PRIMARY" ), MONGOC_SERVER_POSSIBLE_PRIMARY TSRMLS_CC );
629
- zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_RS_PRIMARY" ), MONGOC_SERVER_RS_PRIMARY TSRMLS_CC );
630
- zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_RS_SECONDARY" ), MONGOC_SERVER_RS_SECONDARY TSRMLS_CC );
631
- zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_RS_ARBITER" ), MONGOC_SERVER_RS_ARBITER TSRMLS_CC );
632
- zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_RS_OTHER" ), MONGOC_SERVER_RS_OTHER TSRMLS_CC );
633
- zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_RS_GHOST" ), MONGOC_SERVER_RS_GHOST TSRMLS_CC );
625
+ zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_UNKNOWN" ), PHONGO_SERVER_UNKNOWN TSRMLS_CC );
626
+ zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_STANDALONE" ), PHONGO_SERVER_STANDALONE TSRMLS_CC );
627
+ zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_MONGOS" ), PHONGO_SERVER_MONGOS TSRMLS_CC );
628
+ zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_POSSIBLE_PRIMARY" ), PHONGO_SERVER_POSSIBLE_PRIMARY TSRMLS_CC );
629
+ zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_RS_PRIMARY" ), PHONGO_SERVER_RS_PRIMARY TSRMLS_CC );
630
+ zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_RS_SECONDARY" ), PHONGO_SERVER_RS_SECONDARY TSRMLS_CC );
631
+ zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_RS_ARBITER" ), PHONGO_SERVER_RS_ARBITER TSRMLS_CC );
632
+ zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_RS_OTHER" ), PHONGO_SERVER_RS_OTHER TSRMLS_CC );
633
+ zend_declare_class_constant_long (php_phongo_server_ce , ZEND_STRL ("TYPE_RS_GHOST" ), PHONGO_SERVER_RS_GHOST TSRMLS_CC );
634
634
635
635
636
636
return SUCCESS ;
0 commit comments