Subject: gdbm 1.7.3 port
From: [email-masked] ("Jonathan Wilkins")

19 Dec 1996 18:03:15 -0800
Sender: [email-masked]
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
Reply-To: [email-masked]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7BIT
Comments: Authenticated sender is <[email-masked]>
Original-To: [email-masked]
X-mailer: Pegasus Mail for Win32 (v2.42a)
Original-Sender: [email-masked]

alright.. here is a little more detail on the gdbm problem...

the code that seems to be broken is in bucket.c and relates to a 
read.. 

there is a code fragment as follows... 

num_bytes = read(dbf->desc, dbf->bucket, dbf->header->bucket_size);

num_bytes is an int, and read is supposed to return an int.. 
here's where it gets silly.. 

I add the line:
printf("num_bytes = %d\n\ndbf->desc = %d\ndbf->bucket = 
%p\ndbf-header->bucket_size = %d\n", num_bytes, dbf->desc,
 dbf->bucket, dbf->header->bucket_size); 

sorry it's a little ugly.. 

anyway, it outputs:

num_bytes = 88

dbf->desc = 3
dbf->bucket = 0x2eb5804
dbf->header->bucket_size = 1024

the next line of code is:
if (numbytes != dbf->header->bucket_size) _gdbm_fatal (dbf, "read 
error");

which ends the program...

if I comment out the _gdbm_fatal stuff it'll choke later on 
complaining that sync() is not implemented..

now, I am not sure if it's a problem with the gdbm code, or if it's a 
problem with the cygwin stuff.. I am pretty sure that the absence of 
the sync() function is not responsible as it usually doesn't get that 
far..

anyway, does anyone have any suggestion on what to look at next?

I seem to also remember a compiled version of the gdbm library 
(libgdbm.a) from beta 14... if anyone has that could they forward it 
to me?

                                                thanks
                                                     Jonathan
Jonathan Wilkins    | " If only they had used
[email-masked] |   for niceness
Secure Networks Inc |   instead of evil ... "
-
For help on using this list, send a message to
"[email-masked]" with one line of text: "help".