diff options
| author | Marcus Boerger <helly@php.net> | 2002-12-11 10:37:38 +0000 |
|---|---|---|
| committer | Marcus Boerger <helly@php.net> | 2002-12-11 10:37:38 +0000 |
| commit | e0c983a013bc508452b4120e64fb64c26fb89ffe (patch) | |
| tree | 892167282cbc516874c389193b80226184085e33 /ext/dba/dba.c | |
| parent | f84aff8f5c24ea06db932626a375e5058504df73 (diff) | |
| download | php-git-e0c983a013bc508452b4120e64fb64c26fb89ffe.tar.gz | |
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)
Diffstat (limited to 'ext/dba/dba.c')
| -rw-r--r-- | ext/dba/dba.c | 11 |
1 files 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; } |
