mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-23 07:06:30 +00:00
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:
3
HISTORY
3
HISTORY
@@ -1,3 +1,6 @@
|
||||
4.0.5 2018-??-??
|
||||
repmgr: fix display of conninfo parsing error messages (Ian)
|
||||
|
||||
4.0.4 2018-03-09
|
||||
repmgr: add "standby clone --recovery-conf-only" option; GitHub #382 (Ian)
|
||||
repmgr: make "standby promote" timeout values configurable; GitHub #387 (Ian)
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
@@ -549,12 +549,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;
|
||||
|
||||
@@ -364,7 +364,7 @@ void conn_to_param_list(PGconn *conn, t_conninfo_param_list *param_list);
|
||||
void param_set(t_conninfo_param_list *param_list, const char *param, const char *value);
|
||||
void param_set_ine(t_conninfo_param_list *param_list, const char *param, const char *value);
|
||||
char *param_get(t_conninfo_param_list *param_list, const char *param);
|
||||
bool parse_conninfo_string(const char *conninfo_str, t_conninfo_param_list *param_list, char *errmsg, bool ignore_local_params);
|
||||
bool parse_conninfo_string(const char *conninfo_str, t_conninfo_param_list *param_list, char **errmsg, bool ignore_local_params);
|
||||
char *param_list_to_string(t_conninfo_param_list *param_list);
|
||||
bool has_passfile(void);
|
||||
|
||||
|
||||
@@ -349,7 +349,7 @@ do_standby_clone(void)
|
||||
* `application_name`, if set
|
||||
*/
|
||||
|
||||
parse_success = parse_conninfo_string(recovery_conninfo_str, &recovery_conninfo, errmsg, true);
|
||||
parse_success = parse_conninfo_string(recovery_conninfo_str, &recovery_conninfo, &errmsg, true);
|
||||
|
||||
if (parse_success == false)
|
||||
{
|
||||
@@ -2356,7 +2356,7 @@ do_standby_follow_internal(PGconn *primary_conn, t_node_info *primary_node_recor
|
||||
initialize_conninfo_params(&recovery_conninfo, false);
|
||||
|
||||
/* We ignore any application_name set in the primary's conninfo */
|
||||
parse_conninfo_string(primary_node_record->conninfo, &recovery_conninfo, errmsg, true);
|
||||
parse_conninfo_string(primary_node_record->conninfo, &recovery_conninfo, &errmsg, true);
|
||||
|
||||
{
|
||||
t_conninfo_param_list local_node_conninfo = T_CONNINFO_PARAM_LIST_INITIALIZER;
|
||||
@@ -2364,7 +2364,7 @@ do_standby_follow_internal(PGconn *primary_conn, t_node_info *primary_node_recor
|
||||
|
||||
initialize_conninfo_params(&local_node_conninfo, false);
|
||||
|
||||
parse_success = parse_conninfo_string(local_node_record.conninfo, &local_node_conninfo, errmsg, false);
|
||||
parse_success = parse_conninfo_string(local_node_record.conninfo, &local_node_conninfo, &errmsg, false);
|
||||
|
||||
if (parse_success == false)
|
||||
{
|
||||
@@ -4016,7 +4016,7 @@ check_source_server_via_barman()
|
||||
* parse_conninfo_string() here will remove the upstream's
|
||||
* `application_name`, if set
|
||||
*/
|
||||
parse_success = parse_conninfo_string(barman_conninfo_str, &barman_conninfo, errmsg, true);
|
||||
parse_success = parse_conninfo_string(barman_conninfo_str, &barman_conninfo, &errmsg, true);
|
||||
|
||||
if (parse_success == false)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user