@@ -584,6 +584,7 @@ ReceiveTarFile(PGconn *conn, PGresult *res, int rownum)
584
584
{
585
585
fprintf (stderr , _ ("%s: could not write to compressed file \"%s\": %s\n" ),
586
586
progname , filename , get_gz_error (ztarfile ));
587
+ disconnect_and_exit (1 );
587
588
}
588
589
}
589
590
else
@@ -597,21 +598,28 @@ ReceiveTarFile(PGconn *conn, PGresult *res, int rownum)
597
598
}
598
599
}
599
600
600
- if (strcmp (basedir , "-" ) == 0 )
601
- {
602
601
#ifdef HAVE_LIBZ
603
- if (ztarfile )
604
- gzclose (ztarfile );
605
- #endif
602
+ if (ztarfile != NULL )
603
+ {
604
+ if (gzclose (ztarfile ) != 0 )
605
+ {
606
+ fprintf (stderr , _ ("%s: could not close compressed file \"%s\": %s\n" ),
607
+ progname , filename , get_gz_error (ztarfile ));
608
+ disconnect_and_exit (1 );
609
+ }
606
610
}
607
611
else
608
- {
609
- #ifdef HAVE_LIBZ
610
- if (ztarfile != NULL )
611
- gzclose (ztarfile );
612
612
#endif
613
- if (tarfile != NULL )
614
- fclose (tarfile );
613
+ {
614
+ if (strcmp (basedir , "-" ) != 0 )
615
+ {
616
+ if (fclose (tarfile ) != 0 )
617
+ {
618
+ fprintf (stderr , _ ("%s: could not close file \"%s\": %s\n" ),
619
+ progname , filename , strerror (errno ));
620
+ disconnect_and_exit (1 );
621
+ }
622
+ }
615
623
}
616
624
617
625
break ;
@@ -630,6 +638,7 @@ ReceiveTarFile(PGconn *conn, PGresult *res, int rownum)
630
638
{
631
639
fprintf (stderr , _ ("%s: could not write to compressed file \"%s\": %s\n" ),
632
640
progname , filename , get_gz_error (ztarfile ));
641
+ disconnect_and_exit (1 );
633
642
}
634
643
}
635
644
else
0 commit comments