And don't forget the NEWS entry..(that bug id must be wrong..? :) --Jani
On Thu, 12 Jun 2003, Marcus Boerger wrote: >helly Thu Jun 12 15:55:16 2003 EDT > > Modified files: (Branch: PHP_4_3) > /php4/ext/dba dba.c > Log: > MFH: Bugfix #2397: dba_open locking error with db3 > >Index: php4/ext/dba/dba.c >diff -u php4/ext/dba/dba.c:1.61.2.16 php4/ext/dba/dba.c:1.61.2.17 >--- php4/ext/dba/dba.c:1.61.2.16 Thu May 29 10:16:25 2003 >+++ php4/ext/dba/dba.c Thu Jun 12 15:55:16 2003 >@@ -17,7 +17,7 @@ > +----------------------------------------------------------------------+ > */ > >-/* $Id: dba.c,v 1.61.2.16 2003/05/29 14:16:25 helly Exp $ */ >+/* $Id: dba.c,v 1.61.2.17 2003/06/12 19:55:16 helly Exp $ */ > > #ifdef HAVE_CONFIG_H > #include "config.h" >@@ -642,15 +642,20 @@ > lock_mode = (lock_flag & DBA_LOCK_WRITER) ? LOCK_EX : 0; > file_mode = "r+b"; > break; >- case 'n': >- modenr = DBA_TRUNC; >- lock_mode = (lock_flag & DBA_LOCK_TRUNC) ? LOCK_EX : 0; >- file_mode = "w+b"; >- break; > case 'c': > modenr = DBA_CREAT; > lock_mode = (lock_flag & DBA_LOCK_CREAT) ? LOCK_EX : 0; > file_mode = "a+b"; >+ if (!lock_mode || !lock_dbf) { >+ break; >+ } >+ /* When we lock the db file it will be created before the >handler >+ * even tries to open it, hence we must change to truncate >mode. >+ */ >+ case 'n': >+ modenr = DBA_TRUNC; >+ lock_mode = (lock_flag & DBA_LOCK_TRUNC) ? LOCK_EX : 0; >+ file_mode = "w+b"; > break; > default: > modenr = 0; > > > > -- https://www.paypal.com/xclick/[EMAIL PROTECTED]&no_note=1&tax=0¤cy_code=EUR -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php