mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-26 00:26:30 +00:00
repmgr: simplify LSN parsing
Also silences a compiler warning.
This commit is contained in:
14
repmgr.c
14
repmgr.c
@@ -3900,29 +3900,31 @@ stop_backup:
|
|||||||
exit(retval);
|
exit(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static void
|
||||||
parse_lsn(XLogRecPtr *ptr, const char *str)
|
parse_lsn(XLogRecPtr *ptr, const char *str)
|
||||||
{
|
{
|
||||||
uint32 high, low;
|
uint32 high, low;
|
||||||
|
|
||||||
if (sscanf(str, "%x/%x", &high, &low) != 2)
|
if (sscanf(str, "%x/%x", &high, &low) != 2)
|
||||||
return false;
|
return;
|
||||||
|
|
||||||
*ptr = (((XLogRecPtr)high) << 32) + (XLogRecPtr)low;
|
*ptr = (((XLogRecPtr)high) << 32) + (XLogRecPtr)low;
|
||||||
|
|
||||||
return true;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static XLogRecPtr
|
static XLogRecPtr
|
||||||
parse_label_lsn(const char *label_key, const char *label_value)
|
parse_label_lsn(const char *label_key, const char *label_value)
|
||||||
{
|
{
|
||||||
XLogRecPtr ptr;
|
XLogRecPtr ptr = InvalidXLogRecPtr;
|
||||||
|
|
||||||
if (!parse_lsn(&ptr, label_value))
|
parse_lsn(&ptr, label_value);
|
||||||
|
|
||||||
|
/* parse_lsn() will not modify ptr if it can't parse the label value */
|
||||||
|
if (ptr == InvalidXLogRecPtr)
|
||||||
{
|
{
|
||||||
log_err(_("Couldn't parse backup label entry \"%s: %s\" as lsn"),
|
log_err(_("Couldn't parse backup label entry \"%s: %s\" as lsn"),
|
||||||
label_key, label_value);
|
label_key, label_value);
|
||||||
return InvalidXLogRecPtr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
|
|||||||
Reference in New Issue
Block a user