diff options
-rw-r--r-- | doc/src/sgml/libpq.sgml | 12 | ||||
-rw-r--r-- | src/interfaces/libpq/fe-connect.c | 2 |
2 files changed, 7 insertions, 7 deletions
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index be0d602508d..1f0975ada68 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -131,15 +131,15 @@ PGconn *PQconnectdbParams(const char * const *keywords, <para> The passed arrays can be empty to use all default parameters, or can contain one or more parameter settings. They should be matched in length. - Processing will stop with the last non-<symbol>NULL</symbol> element - of the <literal>keywords</literal> array. + Processing will stop at the first <symbol>NULL</symbol> element + in the <literal>keywords</literal> array. </para> <para> - If any parameter is unspecified, then the corresponding - environment variable (see <xref linkend="libpq-envars">) - is checked. If the environment variable is not set either, - then the indicated built-in defaults are used. + If any parameter is NULL or an emptry string, the corresponding + environment variable (see <xref linkend="libpq-envars">) is checked. + If the environment variable is not set either, then the indicated + built-in defaults are used. </para> <para> diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index 3909367be6f..0791774af78 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -4357,7 +4357,7 @@ conninfo_array_parse(const char *const * keywords, const char *const * values, const char *pname = keywords[i]; const char *pvalue = values[i]; - if (pvalue != NULL) + if (pvalue != NULL && pvalue[0] != '\0') { /* Search for the param record */ for (option = options; option->keyword != NULL; option++) |