mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Further pg_dump / ftello improvements
Make ftello error-checking consistent to all calls and remove a bit of ftello-related code which has been #if 0'd out since 2001. Note that we are not concerned with the ftello() call under snprintf() failing as it is just building a string to call exit_horribly() with; printing -1 in such a case is fine.
This commit is contained in:
parent
5e8e794e3b
commit
dfb1e9bdc0
@ -3347,9 +3347,8 @@ checkSeek(FILE *fp)
|
||||
#endif
|
||||
|
||||
/* Check that ftello works on this file */
|
||||
errno = 0;
|
||||
tpos = ftello(fp);
|
||||
if (errno)
|
||||
if (tpos < 0)
|
||||
return false;
|
||||
|
||||
/*
|
||||
|
@ -1068,6 +1068,9 @@ _tarAddFile(ArchiveHandle *AH, TAR_MEMBER *th)
|
||||
*/
|
||||
fseeko(tmp, 0, SEEK_END);
|
||||
th->fileLen = ftello(tmp);
|
||||
if (th->fileLen < 0)
|
||||
exit_horribly(modulename, "could not determine seek position in file: %s\n",
|
||||
strerror(errno));
|
||||
fseeko(tmp, 0, SEEK_SET);
|
||||
|
||||
/*
|
||||
@ -1212,20 +1215,6 @@ _tarGetHeader(ArchiveHandle *AH, TAR_MEMBER *th)
|
||||
|
||||
while (!gotBlock)
|
||||
{
|
||||
#if 0
|
||||
if (ftello(ctx->tarFH) != ctx->tarFHpos)
|
||||
{
|
||||
char buf1[100],
|
||||
buf2[100];
|
||||
|
||||
snprintf(buf1, sizeof(buf1), INT64_FORMAT, (int64) ftello(ctx->tarFH));
|
||||
snprintf(buf2, sizeof(buf2), INT64_FORMAT, (int64) ftello(ctx->tarFHpos));
|
||||
exit_horribly(modulename,
|
||||
"mismatch in actual vs. predicted file position (%s vs. %s)\n",
|
||||
buf1, buf2);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Save the pos for reporting purposes */
|
||||
hPos = ctx->tarFHpos;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user