@@ -410,6 +410,7 @@ ReceiveTarFile(PGconn *conn, PGresult *res, int rownum)
410
410
{
411
411
fprintf (stderr , _ ("%s: could not write to compressed file \"%s\": %s\n" ),
412
412
progname , filename , get_gz_error (ztarfile ));
413
+ disconnect_and_exit (1 );
413
414
}
414
415
}
415
416
else
@@ -423,21 +424,28 @@ ReceiveTarFile(PGconn *conn, PGresult *res, int rownum)
423
424
}
424
425
}
425
426
426
- if (strcmp (basedir , "-" ) == 0 )
427
- {
428
427
#ifdef HAVE_LIBZ
429
- if (ztarfile )
430
- gzclose (ztarfile );
431
- #endif
428
+ if (ztarfile != NULL )
429
+ {
430
+ if (gzclose (ztarfile ) != 0 )
431
+ {
432
+ fprintf (stderr , _ ("%s: could not close compressed file \"%s\": %s\n" ),
433
+ progname , filename , get_gz_error (ztarfile ));
434
+ disconnect_and_exit (1 );
435
+ }
432
436
}
433
437
else
434
- {
435
- #ifdef HAVE_LIBZ
436
- if (ztarfile != NULL )
437
- gzclose (ztarfile );
438
438
#endif
439
- if (tarfile != NULL )
440
- fclose (tarfile );
439
+ {
440
+ if (strcmp (basedir , "-" ) != 0 )
441
+ {
442
+ if (fclose (tarfile ) != 0 )
443
+ {
444
+ fprintf (stderr , _ ("%s: could not close file \"%s\": %s\n" ),
445
+ progname , filename , strerror (errno ));
446
+ disconnect_and_exit (1 );
447
+ }
448
+ }
441
449
}
442
450
443
451
break ;
@@ -456,6 +464,7 @@ ReceiveTarFile(PGconn *conn, PGresult *res, int rownum)
456
464
{
457
465
fprintf (stderr , _ ("%s: could not write to compressed file \"%s\": %s\n" ),
458
466
progname , filename , get_gz_error (ztarfile ));
467
+ disconnect_and_exit (1 );
459
468
}
460
469
}
461
470
else
0 commit comments