Fix parsing of xlog file name in pg_receivexlog.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 4 Nov 2013 08:51:37 +0000 (10:51 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 4 Nov 2013 08:59:02 +0000 (10:59 +0200)
commite843d12ebc6cfea9704eca5da62a78ac34ad2602
treeeed8f9a6f0855c00fb2f58ed269a93e0f4f3d37d
parentda2c6a919533e29623b03a2213b72ece69875bb3
Fix parsing of xlog file name in pg_receivexlog.

The parsing of WAL filenames of segments larger than > 255 was broken,
making pg_receivexlog unable to restart streaming after stopping it.

The bug was introduced by the changes in 9.3 to represent WAL segment number
as a 64-bit integer instead of two ints, log and seg. To fix, replace the
plain sscanf call with XLogFromFileName macro, which does the conversion
from log+seg to a 64-bit integer correcly.

Reported by Mika Eloranta.
src/bin/pg_basebackup/pg_receivexlog.c