@ -1105,7 +1105,8 @@ PrintTOCSummary(Archive *AHX)
fmtName = " UNKNOWN " ;
}
ahprintf ( AH , " ; Dump Version: %d.%d-%d \n " , AH - > vmaj , AH - > vmin , AH - > vrev ) ;
ahprintf ( AH , " ; Dump Version: %d.%d-%d \n " ,
ARCHIVE_MAJOR ( AH - > version ) , ARCHIVE_MINOR ( AH - > version ) , ARCHIVE_REV ( AH - > version ) ) ;
ahprintf ( AH , " ; Format: %s \n " , fmtName ) ;
ahprintf ( AH , " ; Integer: %d bytes \n " , ( int ) AH - > intSize ) ;
ahprintf ( AH , " ; Offset: %d bytes \n " , ( int ) AH - > offSize ) ;
@ -2106,6 +2107,7 @@ _discoverArchiveFormat(ArchiveHandle *AH)
if ( strncmp ( sig , " PGDMP " , 5 ) = = 0 )
{
int byteread ;
char vmaj , vmin , vrev ;
/*
* Finish reading ( most of ) a custom - format header .
@ -2115,31 +2117,30 @@ _discoverArchiveFormat(ArchiveHandle *AH)
if ( ( byteread = fgetc ( fh ) ) = = EOF )
READ_ERROR_EXIT ( fh ) ;
AH - > vmaj = byteread ;
vmaj = byteread ;
if ( ( byteread = fgetc ( fh ) ) = = EOF )
READ_ERROR_EXIT ( fh ) ;
AH - > vmin = byteread ;
vmin = byteread ;
/* Save these too... */
AH - > lookahead [ AH - > lookaheadLen + + ] = AH - > vmaj ;
AH - > lookahead [ AH - > lookaheadLen + + ] = AH - > vmin ;
AH - > lookahead [ AH - > lookaheadLen + + ] = vmaj ;
AH - > lookahead [ AH - > lookaheadLen + + ] = vmin ;
/* Check header version; varies from V1.0 */
if ( AH - > vmaj > 1 | | ( ( AH - > vmaj = = 1 ) & & ( AH - > vmin > 0 ) ) ) /* Version > 1.0 */
if ( vmaj > 1 | | ( vmaj = = 1 & & vmin > 0 ) ) /* Version > 1.0 */
{
if ( ( byteread = fgetc ( fh ) ) = = EOF )
READ_ERROR_EXIT ( fh ) ;
AH - > vrev = byteread ;
AH - > lookahead [ AH - > lookaheadLen + + ] = AH - > vrev ;
vrev = byteread ;
AH - > lookahead [ AH - > lookaheadLen + + ] = vrev ;
}
else
AH - > vrev = 0 ;
vrev = 0 ;
/* Make a convenient integer <maj><min><rev>00 */
AH - > version = ( ( AH - > vmaj * 256 + AH - > vmin ) * 256 + AH - > vrev ) * 256 + 0 ;
AH - > version = MAKE_ARCHIVE_VERSION ( vmaj , vmin , vrev ) ;
if ( ( AH - > intSize = fgetc ( fh ) ) = = EOF )
READ_ERROR_EXIT ( fh ) ;
@ -2234,12 +2235,7 @@ _allocAH(const char *FileSpec, const ArchiveFormat fmt,
/* AH->debugLevel = 100; */
AH - > vmaj = K_VERS_MAJOR ;
AH - > vmin = K_VERS_MINOR ;
AH - > vrev = K_VERS_REV ;
/* Make a convenient integer <maj><min><rev>00 */
AH - > version = ( ( AH - > vmaj * 256 + AH - > vmin ) * 256 + AH - > vrev ) * 256 + 0 ;
AH - > version = K_VERS_SELF ;
/* initialize for backwards compatible string processing */
AH - > public . encoding = 0 ; /* PG_SQL_ASCII */
@ -3528,9 +3524,9 @@ WriteHead(ArchiveHandle *AH)
struct tm crtm ;
( * AH - > WriteBufPtr ) ( AH , " PGDMP " , 5 ) ; /* Magic code */
( * AH - > WriteBytePtr ) ( AH , AH - > vmaj ) ;
( * AH - > WriteBytePtr ) ( AH , AH - > vmin ) ;
( * AH - > WriteBytePtr ) ( AH , AH - > vrev ) ;
( * AH - > WriteBytePtr ) ( AH , ARCHIVE_MAJOR ( A H - > version ) ) ;
( * AH - > WriteBytePtr ) ( AH , ARCHIVE_MINOR ( A H - > version ) ) ;
( * AH - > WriteBytePtr ) ( AH , ARCHIVE_REV ( A H - > version ) ) ;
( * AH - > WriteBytePtr ) ( AH , AH - > intSize ) ;
( * AH - > WriteBytePtr ) ( AH , AH - > offSize ) ;
( * AH - > WriteBytePtr ) ( AH , AH - > format ) ;
@ -3563,24 +3559,26 @@ ReadHead(ArchiveHandle *AH)
*/
if ( ! AH - > readHeader )
{
char vmaj , vmin , vrev ;
( * AH - > ReadBufPtr ) ( AH , tmpMag , 5 ) ;
if ( strncmp ( tmpMag , " PGDMP " , 5 ) ! = 0 )
exit_horribly ( modulename , " did not find magic string in file header \n " ) ;
AH - > vmaj = ( * AH - > ReadBytePtr ) ( AH ) ;
AH - > vmin = ( * AH - > ReadBytePtr ) ( AH ) ;
vmaj = ( * AH - > ReadBytePtr ) ( AH ) ;
vmin = ( * AH - > ReadBytePtr ) ( AH ) ;
if ( AH - > vmaj > 1 | | ( ( AH - > vmaj = = 1 ) & & ( AH - > vmin > 0 ) ) ) /* Version > 1.0 */
AH - > vrev = ( * AH - > ReadBytePtr ) ( AH ) ;
if ( vmaj > 1 | | ( vmaj = = 1 & & vmin > 0 ) ) /* Version > 1.0 */
vrev = ( * AH - > ReadBytePtr ) ( AH ) ;
else
AH - > vrev = 0 ;
vrev = 0 ;
AH - > version = ( ( AH - > vmaj * 256 + AH - > vmin ) * 256 + AH - > vrev ) * 256 + 0 ;
AH - > version = MAKE_ARCHIVE_VERSION ( vmaj , vmin , vrev ) ;
if ( AH - > version < K_VERS_1_0 | | AH - > version > K_VERS_MAX )
exit_horribly ( modulename , " unsupported version (%d.%d) in file header \n " ,
AH - > vmaj , AH - > vmin ) ;
vmaj , vmin ) ;
AH - > intSize = ( * AH - > ReadBytePtr ) ( AH ) ;
if ( AH - > intSize > 32 )