itkin@mrspoc.Transact.COM (Steven M. List) (10/20/90)
Here I am again. I REALLY wanna get this built, but it doesn't like
me :^<
In hash.c, I get this error:
gcc -c -fpcc-struct-return -DDEBUGGING -O hash.c
hash.c: In function hfreeentries:
hash.c:405: incompatible types in assignment
*** Error code 1
The section of the file looks like this:
------------------------------------------------------------------------------
datum dkey;
datum nextdkey;
#ifdef NDBM
DBM *old_dbm;
#else
int old_dbm;
#endif
#endif
if (!tb || !tb->tbl_array)
return;
#ifdef SOME_DBM
if ((old_dbm = tb->tbl_dbm) && dodbm) {
while (dkey = dbm_firstkey(tb->tbl_dbm), dkey.dptr) {
do {
=> nextdkey = dbm_nextkey(tb->tbl_dbm, dkey);
dbm_delete(tb->tbl_dbm,dkey);
dkey = nextdkey;
} while (dkey.dptr); /* one way or another, this works */
}
}
tb->tbl_dbm = 0; /* now clear just cache */
#endif
(void)hiterinit(tb);
while (hent = hiternext(tb)) { /* concise but not very efficient */
hentfree(ohent);
ohent = hent;
}
hentfree(ohent);
#ifdef SOME_DBM
tb->tbl_dbm = old_dbm;
------------------------------------------------------------------------------
So, it looks like the assignment to nextdkey is the villain. I've run
and rerun Configure, and it always comes out with ndbm undefined and
odbm defined. And perl.h defined SOME_DBM when ODBM is defined. So
this is apparently what Configure thinks should be happening. Can anyone
help me figure out why GCC is complaining?
Thanks!
--
+----------------------------------------------------------------------------+
: Steven List @ Transact Software, Inc. :^>~ :
: Chairman, Unify User Group of Northern California :
: {apple,coherent,limbo,mips,pyramid,ubvax}!itkin@guinan.Transact.COM :