[Date Prev][Date Next] [Chronological] [Thread] [Top]

thinko in ldbm.c?



I was looking at the code in ldbm.c, and came across this, and it did not
look right, but I wanted some other opinions before I change it to what I
think it is supposed to be:

ldbm.c:161

#if (DB_VERSION_MAJOR > 3) || (DB_VERSION_MINOR >= 1)
        err = ldbm_Env->open( ldbm_Env, home, envFlags, 0 );
#else
        err = ldbm_Env->open( ldbm_Env, home, NULL, envFlags, 0 );
#endif

Now the obvious is that currently (that I know of) there is no db with
MAJOR > 3. Also, the logic looks really bad with that '||'. IOW, this will
pass for a (non-existent) db-4.0, and also for db-1.85, but fail for
db-2.0 and db-3.0, which doesn't make much sense.

What exactly are the version constraints it is looking for? No doubt it
could be causing some problems with the bad logic, depending on your db
version.

-- 
 -----------=======-=-======-=========-----------=====------------=-=------
/  Ben Collins  --  ...on that fantastic voyage...  --  Debian GNU/Linux   \
`  bcollins@debian.org  --  bcollins@openldap.org  --  bcollins@linux.com  '
 `---=========------=======-------------=-=-----=-===-======-------=--=---'