static int _WriteByte(ArchiveHandle* AH, const int i)
{
lclContext* ctx = (lclContext*)AH->formatData;
- int res;
- int b = i;
+ int res;
+ char b = i; /* Avoid endian problems */
res = tarWrite(&b, 1, ctx->FH);
if (res != EOF) {
sprintf(&h[100], "100600 ");
/* User ID 8 */
- sprintf(&h[108], " 0 ");
+ sprintf(&h[108], " 04000 ");
/* Group 8 */
- sprintf(&h[116], " 0 ");
+ sprintf(&h[116], " 02000 ");
/* File size 12 */
- sprintf(&h[124], "%12o", th->fileLen);
+ sprintf(&h[124], "%10o ", th->fileLen);
/* Mod Time 12 */
- sprintf(&h[136], "%12o", (int)time(NULL));
+ sprintf(&h[136], "%10o ", (int)time(NULL));
/* Checksum 8 */
- sprintf(&h[148], "%8o", lastSum);
+ sprintf(&h[148], "%6o ", lastSum);
- /* Link 1 */
- sprintf(&h[156], "%c", LF_NORMAL);
+ /* Type 1 */
+ /* sprintf(&h[156], "%c", LF_NORMAL); */
+ sprintf(&h[156], "0");
/* Link name 100 (NULL) */
/* Magic 8 */
sprintf(&h[257], "ustar ");
+ /* GNU Version...
+ * sprintf(&h[257], "ustar");
+ * sprintf(&h[263], "00");
+ */
+
/* User 32 */
sprintf(&h[265], "%.31s", ""); /* How do I get username reliably? Do I need to? */
sprintf(&h[297], "%.31s", ""); /* How do I get group reliably? Do I need to? */
/* Maj Dev 8 */
- /* sprintf(&h[329], "%8o", 0); */
+ /* sprintf(&h[329], "%6o ", 0); */
/* Min Dev */
- /* sprintf(&h[337], "%8o", 0); */
+ /* sprintf(&h[337], "%6o ", 0); */
while ( (sum = _tarChecksum(h)) != lastSum)
{
- sprintf(&h[148], "%8o", sum);
+ sprintf(&h[148], "%6o ", sum);
lastSum = sum;
}
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.175 2000/10/24 01:38:32 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.176 2000/10/24 13:24:30 pjw Exp $
*
* Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb
*
if (strcmp(progname, "pg_backup") == 0)
{
format = "c";
- outputBlobs = 1;
+ outputBlobs = true;
}
#ifdef HAVE_GETOPT_LONG
}
}
+ if (optind < (argc - 1)) {
+ fprintf(stderr,
+ "%s: extra parameters found on command line after '%s' (first is '%s').\n"
+ "Please respecify command.\nUse -? for help on invocation options.\n",
+ progname, argv[optind], argv[optind+1]);
+ exit(1);
+ }
+
if (dataOnly && schemaOnly)
{
fprintf(stderr,
exit(1);
}
+ if (outputBlobs == true && (format[0] == 'p' || format[0] == 'P') )
+ {
+ fprintf(stderr,
+ "%s: BLOB output is not supported for plain text dump files. Use a different output format.\n",
+ progname);
+ exit(1);
+ }
+
/* open the output file */
switch (format[0]) {