Correctly handle error message pointer when parsing strings.

When parsing conninfo strings, ensure the error message pointer is
actually returned to the caller.

Not a criticial issue, just meant the contents of the error message
were not being displayed.
This commit is contained in:
Ian Barwick
2018-03-10 14:24:26 +09:00
parent a8286030c0
commit d7702b3444
4 changed files with 12 additions and 9 deletions

View File

@@ -124,7 +124,7 @@ _establish_db_connection(const char *conninfo, const bool exit_on_error, const b
initialize_conninfo_params(&conninfo_params, false);
parse_success = parse_conninfo_string(conninfo, &conninfo_params, errmsg, false);
parse_success = parse_conninfo_string(conninfo, &conninfo_params, &errmsg, false);
if (parse_success == false)
{
@@ -546,12 +546,12 @@ param_get(t_conninfo_param_list *param_list, const char *param)
* don't copy that node's values
*/
bool
parse_conninfo_string(const char *conninfo_str, t_conninfo_param_list *param_list, char *errmsg, bool ignore_local_params)
parse_conninfo_string(const char *conninfo_str, t_conninfo_param_list *param_list, char **errmsg, bool ignore_local_params)
{
PQconninfoOption *connOptions = NULL;
PQconninfoOption *option = NULL;
connOptions = PQconninfoParse(conninfo_str, &errmsg);
connOptions = PQconninfoParse(conninfo_str, errmsg);
if (connOptions == NULL)
return false;