24 if (
val < (((uint64) 1) << ((
len - 1) * 3)))
30 s[--
len] = (
val & 7) +
'0';
68 result |= (
unsigned char) (*++s);
74 while (
len-- && *s >=
'0' && *s <=
'7')
101 for (
i = 0;
i < 512;
i++)
102 if (i < 148 || i >= 156)
103 sum += 0xFF & header[
i];
120 if (linktarget && strlen(linktarget) > 99)
136 flen =
Min(flen, 99);
162 if (linktarget != NULL)
167 strlcpy(&h[157], linktarget, 100);
181 strcpy(&h[257],
"ustar");
184 memcpy(&h[263],
"00", 2);
188 strlcpy(&h[265],
"postgres", 32);
192 strlcpy(&h[297],
"postgres", 32);
static PgChecksumMode mode
size_t strlcpy(char *dst, const char *src, size_t siz)
uint64 read_tar_number(const char *s, int len)
int tarChecksum(char *header)
enum tarError tarCreateHeader(char *h, const char *filename, const char *linktarget, pgoff_t size, mode_t mode, uid_t uid, gid_t gid, time_t mtime)
void print_tar_number(char *s, int len, uint64 val)