Re: cvs: php4 /ext/db db.c
| From: | Rasmus Lerdorf | Date: | Tue, 13 Aug 2002 04:20:32 +0000 |
| Subject: | Re: cvs: php4 /ext/db db.c | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-86755@lists.php.net to get a copy of this message | ||
As the comment implies, I made it up. Obviously at some point a version
of gdbm existed that needed the datum to be one bigger to hold the \0, I
guess.
On Tue, 13 Aug 2002, Dan Kalowsky wrote:
> We did a google search and found absolutely nothing with it mentioned.
> Oddly enough, taking out the #if GDBM_FIX breaks the db functions on
> FreeBSD
>
> On Mon, 12 Aug 2002, Rasmus Lerdorf wrote:
>
> > Hrm.. I vaguely remember writing this code and dealing with this GDBM_FIX
> > thing 5-6 years ago. If you look in php.h from PHP version 2 you will see
> > this:
> >
> > /*
> > * GDBM_FIX
> > *
> > * Some people have reported problems getting gdbm to work correctly. If
> > * you are seeing a gdbm compatibility problem, try defining this and
> > * let me know if it fixes your problem. If it does, please tell me
> > * which version of gdbm you are using
> > */
> > /* #define GDBM_FIX 1 */
> >
> > Hopefully we can safely assume that nobody is using whatever ancient
> > version of gdbm that may have had this problem.
> >
> > -Rasmus
> >
> > On Tue, 13 Aug 2002, Dan Kalowsky wrote:
> >
> > > kalowsky Tue Aug 13 00:10:31 2002 EDT
> > >
> > > Modified files:
> > > /php4/ext/db db.c
> > > Log:
> > > Fix for Bug #18746 by sfox and I
> > > #What is the GDBM_FIX for anyways, we can find it anywhere?
> > >
> > >
> > > Index: php4/ext/db/db.c
> > > diff -u php4/ext/db/db.c:1.73 php4/ext/db/db.c:1.74
> > > --- php4/ext/db/db.c:1.73 Fri Jun 28 20:40:34 2002
> > > +++ php4/ext/db/db.c Tue Aug 13 00:10:31 2002
> > > @@ -17,7 +17,7 @@
> > > +----------------------------------------------------------------------+
> > > */
> > >
> > > -/* $Id: db.c,v 1.73 2002/06/29 00:40:34 sniper Exp $ */
> > > +/* $Id: db.c,v 1.74 2002/08/13 04:10:31 kalowsky Exp $ */
> > > #define IS_EXT_MODULE
> > >
> > > #ifdef HAVE_CONFIG_H
> > > @@ -38,15 +38,11 @@
> > > #include <unistd.h>
> > > #endif
> > >
> > > -#ifdef PHP_31
> > > -#include "os/nt/flock.h"
> > > -#else
> > > #ifdef PHP_WIN32
> > > #include "win32/flock.h"
> > > #else
> > > #include <sys/file.h>
> > > #endif
> > > -#endif
> > >
> > > #if HAVE_FCNTL_H
> > > #include <fcntl.h>
> > > @@ -630,7 +626,12 @@
> > > DBM_TYPE dbf;
> > >
> > > key_datum.dptr = key;
> > > +#ifdef PHP_WIN32
> > > + key_datum.dsize = strlen(key+1);
> > > +#else
> > > key_datum.dsize = strlen(key);
> > > +#endif
> > > +
> > > #if GDBM_FIX
> > > key_datum.dsize++;
> > > #endif
> > >
> > >
> > >
> > > --
> > > PHP CVS Mailing List (http://www.php.net/)
> > > To unsubscribe, visit: http://www.php.net/unsub.php
> > >
> >
>
> >---------------------------------------------------------------<
> Dan Kalowsky "A little less conversation,
> http://www.deadmime.org/~dank a little more action."
> dank-nom@aps-deadmime.org - "A Little Less Conversation",
> kalowsky@php.net Elvis Presley
>