@@ -1658,26 +1658,21 @@ static void php_pgsql_get_link_info(INTERNAL_FUNCTION_PARAMETERS, int entry_type
1658
1658
/* 8.0 or grater supports protorol version 3 */
1659
1659
char * tmp ;
1660
1660
add_assoc_string (return_value , "server" , (char * )PQparameterStatus (pgsql , "server_version" ));
1661
- tmp = (char * )PQparameterStatus (pgsql , "server_encoding" );
1662
- add_assoc_string (return_value , "server_encoding" , tmp );
1663
- tmp = (char * )PQparameterStatus (pgsql , "client_encoding" );
1664
- add_assoc_string (return_value , "client_encoding" , tmp );
1665
- tmp = (char * )PQparameterStatus (pgsql , "is_superuser" );
1666
- add_assoc_string (return_value , "is_superuser" , tmp );
1667
- tmp = (char * )PQparameterStatus (pgsql , "session_authorization" );
1668
- add_assoc_string (return_value , "session_authorization" , tmp );
1669
- tmp = (char * )PQparameterStatus (pgsql , "DateStyle" );
1670
- add_assoc_string (return_value , "DateStyle" , tmp );
1671
- tmp = (char * )PQparameterStatus (pgsql , "IntervalStyle" );
1672
- add_assoc_string (return_value , "IntervalStyle" , tmp ? tmp : "" );
1673
- tmp = (char * )PQparameterStatus (pgsql , "TimeZone" );
1674
- add_assoc_string (return_value , "TimeZone" , tmp ? tmp : "" );
1675
- tmp = (char * )PQparameterStatus (pgsql , "integer_datetimes" );
1676
- add_assoc_string (return_value , "integer_datetimes" , tmp ? tmp : "" );
1677
- tmp = (char * )PQparameterStatus (pgsql , "standard_conforming_strings" );
1678
- add_assoc_string (return_value , "standard_conforming_strings" , tmp ? tmp : "" );
1679
- tmp = (char * )PQparameterStatus (pgsql , "application_name" );
1680
- add_assoc_string (return_value , "application_name" , tmp ? tmp : "" );
1661
+
1662
+ #define PHP_PQ_COPY_PARAM (_x ) tmp = (char*)PQparameterStatus(pgsql, _x); \
1663
+ if(tmp) add_assoc_string(return_value, _x, tmp); \
1664
+ else add_assoc_null(return_value, _x);
1665
+
1666
+ PHP_PQ_COPY_PARAM ("server_encoding" );
1667
+ PHP_PQ_COPY_PARAM ("client_encoding" );
1668
+ PHP_PQ_COPY_PARAM ("is_superuser" );
1669
+ PHP_PQ_COPY_PARAM ("session_authorization" );
1670
+ PHP_PQ_COPY_PARAM ("DateStyle" );
1671
+ PHP_PQ_COPY_PARAM ("IntervalStyle" );
1672
+ PHP_PQ_COPY_PARAM ("TimeZone" );
1673
+ PHP_PQ_COPY_PARAM ("integer_datetimes" );
1674
+ PHP_PQ_COPY_PARAM ("standard_conforming_strings" );
1675
+ PHP_PQ_COPY_PARAM ("application_name" );
1681
1676
}
1682
1677
#endif
1683
1678
#endif
0 commit comments