Fix another incorrect data type choice from commit dc2123400.

add_file_to_manifest declared its mtime argument as pg_time_t,
apparently on the principle that copy-and-paste from the backend
is fine.  However, the callers are passing struct stat's st_mtime
field which is plain time_t, and add_file_to_manifest itself is
passing the value to gmtime(3) which expects plain time_t,
so the whole thing would not work at all on any platform where
those types are different.  Fortunately we can just switch this
variable to time_t.

Per warnings from assorted buildfarm members.
pull/151/head
Tom Lane 2 years ago
parent 390408ec08
commit 3f1fd41631
  1. 2
      src/bin/pg_combinebackup/write_manifest.c
  2. 3
      src/bin/pg_combinebackup/write_manifest.h

@ -72,7 +72,7 @@ create_manifest_writer(char *directory)
*/
void
add_file_to_manifest(manifest_writer *mwriter, const char *manifest_path,
size_t size, pg_time_t mtime,
size_t size, time_t mtime,
pg_checksum_type checksum_type,
int checksum_length,
uint8 *checksum_payload)

@ -13,7 +13,6 @@
#define WRITE_MANIFEST_H
#include "common/checksum_helper.h"
#include "pgtime.h"
struct manifest_wal_range;
@ -23,7 +22,7 @@ typedef struct manifest_writer manifest_writer;
extern manifest_writer *create_manifest_writer(char *directory);
extern void add_file_to_manifest(manifest_writer *mwriter,
const char *manifest_path,
size_t size, pg_time_t mtime,
size_t size, time_t mtime,
pg_checksum_type checksum_type,
int checksum_length,
uint8 *checksum_payload);

Loading…
Cancel
Save