I've fixed this bug in 7.1RC1. It may have been causing core dumps by dereferencing a null function pointer. As it was the Sun compiler flagged it as an error. (SC5.0 on Solaris 2.6.)
*** src/bin/pg_dump/pg_backup_null.c.orig Sat Mar 24 00:54:54 2001 --- src/bin/pg_dump/pg_backup_null.c Tue Mar 27 09:50:24 2001 *************** *** 98,104 **** static void _PrintTocData(ArchiveHandle *AH, TocEntry *te, RestoreOptions *ropt) { ! if (*te->dataDumper) { AH->currToc = te; (*te->dataDumper) ((Archive *) AH, te->oid, te->dataDumperArg); --- 98,104 ---- static void _PrintTocData(ArchiveHandle *AH, TocEntry *te, RestoreOptions *ropt) { ! if (te->dataDumper) { AH->currToc = te; (*te->dataDumper) ((Archive *) AH, te->oid, te->dataDumperArg);
Interestingly other compilers on other platforms accept a function as a controlling expression in an if statement without complaint. That expression should have scalar type, i.e. either arithmetic or pointer. This test program demonstrates Sun catching the error.
int (*f)(int); int g(int x) { return x; } int main(void) { int y = 0; f = g; if (*f) { y = f(1); } return y; }
$ cc funcptr.c "funcptr.c", line 13: controlling expressions must have scalar type cc: acomp failed for funcptr.c -- Pete Forman -./\.- Disclaimer: This post is originated WesternGeco -./\.- by myself and does not represent [EMAIL PROTECTED] -./\.- opinion of Schlumberger, Baker http://www.crosswinds.net/~petef -./\.- Hughes or their divisions.
---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]