@@ -1645,26 +1645,21 @@ static void php_pgsql_get_link_info(INTERNAL_FUNCTION_PARAMETERS, int entry_type
1645
1645
/* 8.0 or grater supports protorol version 3 */
1646
1646
char * tmp ;
1647
1647
add_assoc_string (return_value , "server" , (char * )PQparameterStatus (pgsql , "server_version" ));
1648
- tmp = (char * )PQparameterStatus (pgsql , "server_encoding" );
1649
- add_assoc_string (return_value , "server_encoding" , tmp );
1650
- tmp = (char * )PQparameterStatus (pgsql , "client_encoding" );
1651
- add_assoc_string (return_value , "client_encoding" , tmp );
1652
- tmp = (char * )PQparameterStatus (pgsql , "is_superuser" );
1653
- add_assoc_string (return_value , "is_superuser" , tmp );
1654
- tmp = (char * )PQparameterStatus (pgsql , "session_authorization" );
1655
- add_assoc_string (return_value , "session_authorization" , tmp );
1656
- tmp = (char * )PQparameterStatus (pgsql , "DateStyle" );
1657
- add_assoc_string (return_value , "DateStyle" , tmp );
1658
- tmp = (char * )PQparameterStatus (pgsql , "IntervalStyle" );
1659
- add_assoc_string (return_value , "IntervalStyle" , tmp ? tmp : "" );
1660
- tmp = (char * )PQparameterStatus (pgsql , "TimeZone" );
1661
- add_assoc_string (return_value , "TimeZone" , tmp ? tmp : "" );
1662
- tmp = (char * )PQparameterStatus (pgsql , "integer_datetimes" );
1663
- add_assoc_string (return_value , "integer_datetimes" , tmp ? tmp : "" );
1664
- tmp = (char * )PQparameterStatus (pgsql , "standard_conforming_strings" );
1665
- add_assoc_string (return_value , "standard_conforming_strings" , tmp ? tmp : "" );
1666
- tmp = (char * )PQparameterStatus (pgsql , "application_name" );
1667
- add_assoc_string (return_value , "application_name" , tmp ? tmp : "" );
1648
+
1649
+ #define PHP_PQ_COPY_PARAM (_x ) tmp = (char*)PQparameterStatus(pgsql, _x); \
1650
+ if(tmp) add_assoc_string(return_value, _x, tmp); \
1651
+ else add_assoc_null(return_value, _x);
1652
+
1653
+ PHP_PQ_COPY_PARAM ("server_encoding" );
1654
+ PHP_PQ_COPY_PARAM ("client_encoding" );
1655
+ PHP_PQ_COPY_PARAM ("is_superuser" );
1656
+ PHP_PQ_COPY_PARAM ("session_authorization" );
1657
+ PHP_PQ_COPY_PARAM ("DateStyle" );
1658
+ PHP_PQ_COPY_PARAM ("IntervalStyle" );
1659
+ PHP_PQ_COPY_PARAM ("TimeZone" );
1660
+ PHP_PQ_COPY_PARAM ("integer_datetimes" );
1661
+ PHP_PQ_COPY_PARAM ("standard_conforming_strings" );
1662
+ PHP_PQ_COPY_PARAM ("application_name" );
1668
1663
}
1669
1664
#endif
1670
1665
#endif
0 commit comments