From e0c983a013bc508452b4120e64fb64c26fb89ffe Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Wed, 11 Dec 2002 10:37:38 +0000 Subject: [PATCH] Warnings and Notices when lock modifiers for dba_(p)open are used wrong. This finally closes bug #20828 (and i hope it must not be reopened) --- ext/dba/dba.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ext/dba/dba.c b/ext/dba/dba.c index 1f2badd308..c110d73229 100644 --- a/ext/dba/dba.c +++ b/ext/dba/dba.c @@ -430,16 +430,21 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, int persistent) if (pmode[0] && (pmode[1]=='d' || pmode[1]=='l' || pmode[1]=='-')) { /* force lock on db file or lck file or disable locking */ switch (pmode[1]) { case 'd': - if ((hptr->flags & DBA_LOCK_ALL) == 0) { - php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_NOTICE, "Handler %s does locking internally", hptr->name); - } lock_dbf = 1; /* no break */ case 'l': lock_flag = DBA_LOCK_ALL; + if ((hptr->flags & DBA_LOCK_ALL) == 0) { + php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_NOTICE, "Handler %s does locking internally", hptr->name); + } break; default: case '-': + if ((hptr->flags & DBA_LOCK_ALL) == 0) { + php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "Locking cannot be disabled for handler %s", hptr->name); + FREENOW; + RETURN_FALSE; + } lock_flag = 0; break; } -- 2.40.0