[PHP-CVS] cvs: php4(PHP_4_3) /ext/dba dba.c

2003-06-14 Thread Edin Kadribasic
edink   Sat Jun 14 14:51:17 2003 EDT

  Modified files:  (Branch: PHP_4_3)
/php4/ext/dba   dba.c 
  Log:
  Fixed win32 build
  
Index: php4/ext/dba/dba.c
diff -u php4/ext/dba/dba.c:1.61.2.18 php4/ext/dba/dba.c:1.61.2.19
--- php4/ext/dba/dba.c:1.61.2.18Fri Jun 13 10:53:13 2003
+++ php4/ext/dba/dba.c  Sat Jun 14 14:51:17 2003
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: dba.c,v 1.61.2.18 2003/06/13 14:53:13 andrey Exp $ */
+/* $Id: dba.c,v 1.61.2.19 2003/06/14 18:51:17 edink Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -369,7 +369,7 @@
 
 /* {{{ PHP_INI
  */
-ZEND_API ZEND_INI_MH(OnUpdateDefaultHandler)
+ZEND_INI_MH(OnUpdateDefaultHandler)
 {
dba_handler *hptr;
 



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php4(PHP_4_3) /ext/dba dba.c

2003-06-14 Thread Marcus Boerger
helly   Sat Jun 14 15:27:01 2003 EDT

  Modified files:  (Branch: PHP_4_3)
/php4/ext/dba   dba.c 
  Log:
  Remove that old thing
  
Index: php4/ext/dba/dba.c
diff -u php4/ext/dba/dba.c:1.61.2.19 php4/ext/dba/dba.c:1.61.2.20
--- php4/ext/dba/dba.c:1.61.2.19Sat Jun 14 14:51:17 2003
+++ php4/ext/dba/dba.c  Sat Jun 14 15:27:01 2003
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: dba.c,v 1.61.2.19 2003/06/14 18:51:17 edink Exp $ */
+/* $Id: dba.c,v 1.61.2.20 2003/06/14 19:27:01 helly Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -54,8 +54,6 @@
 function_entry dba_functions[] = {
PHP_FE(dba_open, NULL)
PHP_FE(dba_popen, NULL)
-   /* Disabled until 4.3.1, when persistent STDIO streams are implemented.   */
-   /* PHP_FE(dba_popen, NULL) */
PHP_FE(dba_close, NULL)
PHP_FE(dba_delete, NULL)
PHP_FE(dba_exists, NULL)



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] cvs: php4(PHP_4_3) /ext/dba dba.c

2003-06-13 Thread Jani Taskinen
  
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=1tax=0currency_code=EUR
 


-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php4(PHP_4_3) /ext/dba dba.c

2003-06-13 Thread Andrey Hristov
andrey  Fri Jun 13 10:53:13 2003 EDT

  Modified files:  (Branch: PHP_4_3)
/php4/ext/dba   dba.c 
  Log:
  proto fixes
  
Index: php4/ext/dba/dba.c
diff -u php4/ext/dba/dba.c:1.61.2.17 php4/ext/dba/dba.c:1.61.2.18
--- php4/ext/dba/dba.c:1.61.2.17Thu Jun 12 15:55:16 2003
+++ php4/ext/dba/dba.c  Fri Jun 13 10:53:13 2003
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: dba.c,v 1.61.2.17 2003/06/12 19:55:16 helly Exp $ */
+/* $Id: dba.c,v 1.61.2.18 2003/06/13 14:53:13 andrey Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -797,7 +797,7 @@
 /* }}} */
 #undef FREENOW
 
-/* {{{ proto int dba_popen(string path, string mode [, string handlername, string 
...])
+/* {{{ proto resource dba_popen(string path, string mode [, string handlername, 
string ...])
Opens path using the specified handler in mode persistently */
 PHP_FUNCTION(dba_popen)
 {
@@ -805,7 +805,7 @@
 }
 /* }}} */
 
-/* {{{ proto int dba_open(string path, string mode [, string handlername, string ...])
+/* {{{ proto resource dba_open(string path, string mode [, string handlername, string 
...])
Opens path using the specified handler in mode*/
 PHP_FUNCTION(dba_open)
 {



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php4(PHP_4_3) /ext/dba dba.c

2003-06-12 Thread Marcus Boerger
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.16Thu 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;



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php4(PHP_4_3) /ext/dba dba.c dba_cdb.c dba_db2.c dba_db3.c dba_db4.c dba_dbm.c dba_flatfile.c dba_gdbm.c dba_ndbm.c php_dba.h /ext/dba/libcdb cdb.c cdb.h cdb_make.c cdb_make.h /ext/dba/libflatfile flatfile.c flatfile.h

2003-01-31 Thread Marcus Boerger
helly   Fri Jan 31 15:10:11 2003 EDT

  Modified files:  (Branch: PHP_4_3)
/php4/ext/dba   dba.c dba_cdb.c dba_db2.c dba_db3.c dba_db4.c 
dba_dbm.c dba_flatfile.c dba_gdbm.c dba_ndbm.c 
php_dba.h 
/php4/ext/dba/libcdbcdb.c cdb.h cdb_make.c cdb_make.h 
/php4/ext/dba/libflatfile   flatfile.c flatfile.h 
  Log:
  MFH: Version info
  
Index: php4/ext/dba/dba.c
diff -u php4/ext/dba/dba.c:1.61.2.11 php4/ext/dba/dba.c:1.61.2.12
--- php4/ext/dba/dba.c:1.61.2.11Tue Dec 31 11:34:17 2002
+++ php4/ext/dba/dba.c  Fri Jan 31 15:10:10 2003
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: dba.c,v 1.61.2.11 2002/12/31 16:34:17 sebastian Exp $ */
+/* $Id: dba.c,v 1.61.2.12 2003/01/31 20:10:10 helly Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 {\
#alias, flags, dba_open_##name, dba_close_##name, dba_fetch_##name, 
dba_update_##name, \
dba_exists_##name, dba_delete_##name, dba_firstkey_##name, dba_nextkey_##name, 
\
-   dba_optimize_##name, dba_sync_##name \
+   dba_optimize_##name, dba_sync_##name, dba_info_##name \
 },
 
 #define DBA_HND(name, flags) DBA_NAMED_HND(name, name, flags)
@@ -191,7 +191,7 @@
 #if DBA_FLATFILE
DBA_HND(flatfile, DBA_STREAM_OPEN|DBA_LOCK_ALL) /* No lock in lib */
 #endif
-   { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
+   { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
 };
 
 static int le_db;
@@ -750,23 +750,26 @@
 }
 /* }}} */
 
-/* {{{ proto array dba_handlers()
+/* {{{ proto array dba_handlers([bool full_info])
List configured databases */
 PHP_FUNCTION(dba_handlers)
 {
dba_handler *hptr;
+   zend_bool full_info = 0;
 
-   if (ZEND_NUM_ARGS()!=0) {
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |b, full_info) == 
+FAILURE) {
ZEND_WRONG_PARAM_COUNT();
RETURN_FALSE;
}
 
-   if (array_init(return_value) == FAILURE) {
-   php_error_docref(NULL TSRMLS_CC, E_ERROR, Unable to initialize 
array);
-   RETURN_FALSE;
-   }
+   array_init(return_value);
+
for(hptr = handler; hptr-name; hptr++) {
-   add_next_index_string(return_value, hptr-name, 1);
+   if (full_info) {
+   add_assoc_string(return_value, hptr-name, hptr-info(hptr, 
+NULL TSRMLS_CC), 0);
+   } else {
+   add_next_index_string(return_value, hptr-name, 1);
+   }
}
 }
 /* }}} */
@@ -784,10 +787,8 @@
RETURN_FALSE;
}
 
-   if (array_init(return_value) == FAILURE) {
-   php_error_docref(NULL TSRMLS_CC, E_ERROR, Unable to initialize 
array);
-   RETURN_FALSE;
-   }
+   array_init(return_value);
+
numitems = zend_hash_next_free_element(EG(regular_list));
for (i=1; inumitems; i++) {
if (zend_hash_index_find(EG(regular_list), i, (void **) 
le)==FAILURE) {
Index: php4/ext/dba/dba_cdb.c
diff -u php4/ext/dba/dba_cdb.c:1.23.2.2 php4/ext/dba/dba_cdb.c:1.23.2.3
--- php4/ext/dba/dba_cdb.c:1.23.2.2 Tue Dec 31 11:34:18 2002
+++ php4/ext/dba/dba_cdb.c  Fri Jan 31 15:10:11 2003
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: dba_cdb.c,v 1.23.2.2 2002/12/31 16:34:18 sebastian Exp $ */
+/* $Id: dba_cdb.c,v 1.23.2.3 2003/01/31 20:10:11 helly Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -322,6 +322,19 @@
 {
/* this is read-only */
return SUCCESS;
+}
+
+DBA_INFO_FUNC(cdb)
+{
+#if DBA_CDB_BUILTIN
+   if (!strcmp(hnd-name, cdb)) {
+   return estrdup(cdb_version());
+   } else {
+   return estrdup(cdb_make_version());
+   }
+#else
+   return estrdup(External);
+#endif
 }
 
 #endif
Index: php4/ext/dba/dba_db2.c
diff -u php4/ext/dba/dba_db2.c:1.30.2.2 php4/ext/dba/dba_db2.c:1.30.2.3
--- php4/ext/dba/dba_db2.c:1.30.2.2 Tue Dec 31 11:34:18 2002
+++ php4/ext/dba/dba_db2.c  Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: dba_db2.c,v 1.30.2.2 2002/12/31 16:34:18 sebastian Exp $ */
+/* $Id: dba_db2.c,v 1.30.2.3 2003/01/31 20:10:11 helly Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -186,6 +186,11 @@
DB2_DATA;
 
return dba-dbp-sync(dba-dbp, 0) ? FAILURE : SUCCESS;
+}
+
+DBA_INFO_FUNC(db2)
+{
+   return estrdup(DB_VERSION_STRING);
 }
 
 #endif
Index: php4/ext/dba/dba_db3.c
diff -u php4/ext/dba/dba_db3.c:1.21.2.4 php4/ext/dba/dba_db3.c:1.21.2.5
--- php4/ext/dba/dba_db3.c:1.21.2.4 Tue Dec 31 11:34:18 2002
+++ php4/ext/dba/dba_db3.c  Fri Jan 31 15:10:11 2003
@@ -16,7 +16,7 @@

[PHP-CVS] cvs: php4(PHP_4_3) /ext/dba dba.c

2002-12-20 Thread Andrei Zmievski
andrei  Fri Dec 20 11:47:16 2002 EDT

  Modified files:  (Branch: PHP_4_3)
/php4/ext/dba   dba.c 
  Log:
  MFH
  
  
Index: php4/ext/dba/dba.c
diff -u php4/ext/dba/dba.c:1.61.2.6 php4/ext/dba/dba.c:1.61.2.7
--- php4/ext/dba/dba.c:1.61.2.6 Wed Dec 11 05:37:53 2002
+++ php4/ext/dba/dba.c  Fri Dec 20 11:47:15 2002
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: dba.c,v 1.61.2.6 2002/12/11 10:37:53 helly Exp $ */
+/* $Id: dba.c,v 1.61.2.7 2002/12/20 16:47:15 andrei Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -504,9 +504,9 @@
RETURN_FALSE;
}

-   info = emalloc(sizeof(dba_info));
+   info = pemalloc(sizeof(dba_info), persistent);
memset(info, 0, sizeof(dba_info));
-   info-path = estrdup(Z_STRVAL_PP(args[0]));
+   info-path = pestrdup(Z_STRVAL_PP(args[0]), persistent);
info-mode = modenr;
info-argc = ac - 3;
info-argv = args + 3;
@@ -529,7 +529,7 @@
 
if (!error  lock_mode) {
if (lock_dbf) {
-   info-lock.name = estrdup(info-path);
+   info-lock.name = pestrdup(info-path, persistent);
lock_file_mode = file_mode;
} else {
spprintf(info-lock.name, 0, %s.lck, info-path);



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-CVS] cvs: php4(PHP_4_3) /ext/dba dba.c dba_cdb.c dba_db2.c dba_db3.c dba_dbm.c dba_flatfile.c dba_gdbm.c php_dba.h /ext/dba/tests dba_cdb.phpt dba_handler.inc

2002-12-20 Thread Marcus Boerger
helly   Fri Dec 20 15:25:20 2002 EDT

  Modified files:  (Branch: PHP_4_3)
/php4/ext/dba   dba.c dba_cdb.c dba_db2.c dba_db3.c dba_dbm.c 
dba_flatfile.c dba_gdbm.c php_dba.h 
/php4/ext/dba/tests dba_cdb.phpt dba_handler.inc 
  Log:
  MFH: as discussed
  
  
Index: php4/ext/dba/dba.c
diff -u php4/ext/dba/dba.c:1.61.2.7 php4/ext/dba/dba.c:1.61.2.8
--- php4/ext/dba/dba.c:1.61.2.7 Fri Dec 20 11:47:15 2002
+++ php4/ext/dba/dba.c  Fri Dec 20 15:25:19 2002
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: dba.c,v 1.61.2.7 2002/12/20 16:47:15 andrei Exp $ */
+/* $Id: dba.c,v 1.61.2.8 2002/12/20 20:25:19 helly Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -211,7 +211,7 @@
 static void dba_close(dba_info *info TSRMLS_DC)
 {
if (info-hnd) info-hnd-close(info TSRMLS_CC);
-   if (info-path) efree(info-path);
+   if (info-path) pefree(info-path, info-flagsDBA_PERSISTENT);
if (info-fp  info-fp!=info-lock.fp) php_stream_close(info-fp);
if (info-lock.fd) {
php_flock(info-lock.fd, LOCK_UN);
@@ -219,8 +219,8 @@
info-lock.fd = 0;
}
if (info-lock.fp) php_stream_close(info-lock.fp);
-   if (info-lock.name) efree(info-lock.name);
-   efree(info);
+   if (info-lock.name) pefree(info-lock.name, info-flagsDBA_PERSISTENT);
+   pefree(info, info-flagsDBA_PERSISTENT);
 }
 /* }}} */
 
@@ -228,7 +228,7 @@
  */
 static void dba_close_rsrc(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 {
-   dba_info *info = (dba_info *)rsrc-ptr;
+   dba_info *info = (dba_info *)rsrc-ptr; 
 
dba_close(info TSRMLS_CC);
 }
@@ -510,7 +510,7 @@
info-mode = modenr;
info-argc = ac - 3;
info-argv = args + 3;
-   info-flags = (hptr-flags  ~DBA_LOCK_ALL) | (lock_flag  DBA_LOCK_ALL);
+   info-flags = (hptr-flags  ~DBA_LOCK_ALL) | (lock_flag  DBA_LOCK_ALL) | 
+(persistent ? DBA_PERSISTENT : 0);
info-lock.mode = lock_mode;
 
/* if any open call is a locking call:
@@ -536,12 +536,12 @@
if (!strcmp(file_mode, r)) {
/* when in read only mode try to use existing .lck 
file first */
/* do not log errors for .lck file while in read ony 
mode on .lck file */
-   lock_file_mode = rb;
+   lock_file_mode = rb;
info-lock.fp = 
php_stream_open_wrapper(info-lock.name, lock_file_mode, 
STREAM_MUST_SEEK|IGNORE_PATH|ENFORCE_SAFE_MODE, NULL);
-   }
+   }
if (!info-lock.fp) {
/* when not in read mode or failed to open .lck file 
read only. now try again in create(write) mode and log errors */
-   lock_file_mode = a+b;
+   lock_file_mode = a+b;
}
}
if (!info-lock.fp) {
Index: php4/ext/dba/dba_cdb.c
diff -u php4/ext/dba/dba_cdb.c:1.23 php4/ext/dba/dba_cdb.c:1.23.2.1
--- php4/ext/dba/dba_cdb.c:1.23 Wed Nov 13 07:12:44 2002
+++ php4/ext/dba/dba_cdb.c  Fri Dec 20 15:25:19 2002
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: dba_cdb.c,v 1.23 2002/11/13 12:12:44 edink Exp $ */
+/* $Id: dba_cdb.c,v 1.23.2.1 2002/12/20 20:25:19 helly Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -98,7 +98,7 @@
return FAILURE;
}
 
-   cdb = emalloc(sizeof(dba_cdb));
+   cdb = pemalloc(sizeof(dba_cdb), info-flagsDBA_PERSISTENT);
memset(cdb, 0, sizeof(dba_cdb));
 
 #if DBA_CDB_BUILTIN
@@ -132,7 +132,7 @@
cdb_free(cdb-c);
close(cdb-file);
 #endif
-   efree(cdb);
+   pefree(cdb, info-flagsDBA_PERSISTENT);
 }
 
 #if DBA_CDB_BUILTIN
Index: php4/ext/dba/dba_db2.c
diff -u php4/ext/dba/dba_db2.c:1.30 php4/ext/dba/dba_db2.c:1.30.2.1
--- php4/ext/dba/dba_db2.c:1.30 Wed Nov  6 12:59:03 2002
+++ php4/ext/dba/dba_db2.c  Fri Dec 20 15:25:19 2002
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: dba_db2.c,v 1.30 2002/11/06 17:59:03 sas Exp $ */
+/* $Id: dba_db2.c,v 1.30.2.1 2002/12/20 20:25:19 helly Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -76,7 +76,7 @@
return FAILURE;
}
 
-   info-dbf = emalloc(sizeof(dba_db2_data));
+   info-dbf = pemalloc(sizeof(dba_db2_data), info-flagsDBA_PERSISTENT);
memset(info-dbf, 0, sizeof(dba_db2_data));
((dba_db2_data *) info-dbf)-dbp = dbp;
return SUCCESS;
@@ -89,7 +89,7 @@
if (dba-cursor) 
dba-cursor-c_close(dba-cursor);
dba-dbp-close(dba-dbp, 0);
-   efree(dba);
+   pefree(dba, info-flagsDBA_PERSISTENT);
 }
 
 DBA_FETCH_FUNC(db2)
Index: 

[PHP-CVS] cvs: php4(PHP_4_3) /ext/dba dba.c

2002-12-10 Thread Marcus Boerger
helly   Tue Dec 10 18:03:25 2002 EDT

  Modified files:  (Branch: PHP_4_3)
/php4/ext/dba   dba.c 
  Log:
  MFH
  
  
Index: php4/ext/dba/dba.c
diff -u php4/ext/dba/dba.c:1.61.2.4 php4/ext/dba/dba.c:1.61.2.5
--- php4/ext/dba/dba.c:1.61.2.4 Mon Dec  9 13:07:23 2002
+++ php4/ext/dba/dba.c  Tue Dec 10 18:03:24 2002
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: dba.c,v 1.61.2.4 2002/12/09 18:07:23 helly Exp $ */
+/* $Id: dba.c,v 1.61.2.5 2002/12/10 23:03:24 helly Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -215,7 +215,7 @@
if (info-fp  info-fp!=info-lock.fp) php_stream_close(info-fp);
if (info-lock.fd) {
php_flock(info-lock.fd, LOCK_UN);
-   close(info-lock.fd);
+   /*close(info-lock.fd);*/
info-lock.fd = 0;
}
if (info-lock.fp) php_stream_close(info-lock.fp);
@@ -417,6 +417,7 @@
 *
 * d: force lock on database file
 * l: force lock on lck file
+* -: ignore locking
 *
 * t: test open database, warning if locked
 */
@@ -440,6 +441,7 @@
}
} else {
lock_flag = (hptr-flagsDBA_LOCK_ALL);
+   lock_dbf = 1;
}
switch (*pmode++) {
case 'r': 
@@ -526,9 +528,20 @@
lock_file_mode = file_mode;
} else {
spprintf(info-lock.name, 0, %s.lck, info-path);
+   if (!strcmp(file_mode, r)) {
+   /* when in read only mode try to use existing .lck 
+file first */
+   /* do not log errors for .lck file while in read ony 
+mode on .lck file */
+   lock_file_mode = rb;
+   info-lock.fp = 
+php_stream_open_wrapper(info-lock.name, lock_file_mode, 
+STREAM_MUST_SEEK|IGNORE_PATH|ENFORCE_SAFE_MODE, NULL);
+   }
+   if (!info-lock.fp) {
+   /* when not in read mode or failed to open .lck file 
+read only. now try again in create(write) mode and log errors */
lock_file_mode = a+b;
+   }
+   }
+   if (!info-lock.fp) {
+   info-lock.fp = php_stream_open_wrapper(info-lock.name, 
+lock_file_mode, STREAM_MUST_SEEK|REPORT_ERRORS|IGNORE_PATH|ENFORCE_SAFE_MODE, NULL);
}
-   info-lock.fp = php_stream_open_wrapper(info-lock.name, 
lock_file_mode, STREAM_MUST_SEEK|REPORT_ERRORS|IGNORE_PATH|ENFORCE_SAFE_MODE, NULL);
if (!info-lock.fp) {
dba_close(info TSRMLS_CC);
/* stream operation already wrote an error message */
@@ -797,4 +810,3 @@
  * vim600: sw=4 ts=4 fdm=marker
  * vim600: sw=4 ts=4
  */
-



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-CVS] cvs: php4(PHP_4_3) /ext/dba dba.c

2002-12-09 Thread Marcus Boerger
helly   Mon Dec  9 13:07:23 2002 EDT

  Modified files:  (Branch: PHP_4_3)
/php4/ext/dba   dba.c 
  Log:
  MFH: '-' modifier (bug #20282, #20858)
  
  
Index: php4/ext/dba/dba.c
diff -u php4/ext/dba/dba.c:1.61.2.3 php4/ext/dba/dba.c:1.61.2.4
--- php4/ext/dba/dba.c:1.61.2.3 Fri Nov 22 10:53:00 2002
+++ php4/ext/dba/dba.c  Mon Dec  9 13:07:23 2002
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: dba.c,v 1.61.2.3 2002/11/22 15:53:00 helly Exp $ */
+/* $Id: dba.c,v 1.61.2.4 2002/12/09 18:07:23 helly Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -422,14 +422,22 @@
 */
strlcpy(mode, Z_STRVAL_PP(args[1]), sizeof(mode));
pmode = mode[0];
-   if (pmode[0]  (pmode[1]=='d' || pmode[1]=='l')) { /* force lock on db file 
or lck file */
-   if (pmode[1]=='d') {
+   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;
+   break;
+   default:
+   case '-':
+   lock_flag = 0;
+   break;
}
-   lock_flag = DBA_LOCK_ALL;
} else {
lock_flag = (hptr-flagsDBA_LOCK_ALL);
}
@@ -459,18 +467,23 @@
lock_mode = 0;
file_mode = ;
}
-   if (*pmode=='d' || *pmode=='l') {
+   if (*pmode=='d' || *pmode=='l' || *pmode=='-') {
pmode++; /* done already - skip here */
}
if (*pmode=='t') {
pmode++;
+   if (!lock_flag) {
+   php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), 
+Z_STRVAL_PP(args[1]), E_WARNING, You cannot combine modifiers - (no lock) and t 
+(test lock), hptr-name);
+   FREENOW;
+   RETURN_FALSE;
+   }
if (!lock_mode) {
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, Handler %s uses its own 
locking which doesn't support mode modifier t (testing), hptr-name);
+   php_error_docref2(NULL TSRMLS_CC, 
+Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, Handler %s uses its own 
+locking which doesn't support mode modifier t (test lock), hptr-name);
FREENOW;
RETURN_FALSE;
} else {
-   php_error_docref2(NULL TSRMLS_CC, 
Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, Handler %s doesn't uses 
locking for this mode which makes modifier t (testing) obsolete, hptr-name);
+   php_error_docref2(NULL TSRMLS_CC, 
+Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, Handler %s doesn't uses 
+locking for this mode which makes modifier t (test lock) obsolete, hptr-name);
FREENOW;
RETURN_FALSE;
}
@@ -784,3 +797,4 @@
  * vim600: sw=4 ts=4 fdm=marker
  * vim600: sw=4 ts=4
  */
+



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-CVS] cvs: php4(PHP_4_3) /ext/dba dba.c /ext/dba/tests dba008.phpt

2002-11-22 Thread Marcus Boerger
helly   Fri Nov 22 10:53:01 2002 EDT

  Modified files:  (Branch: PHP_4_3)
/php4/ext/dba   dba.c 
/php4/ext/dba/tests dba008.phpt 
  Log:
  MFH
  
  
Index: php4/ext/dba/dba.c
diff -u php4/ext/dba/dba.c:1.61.2.2 php4/ext/dba/dba.c:1.61.2.3
--- php4/ext/dba/dba.c:1.61.2.2 Thu Nov 14 16:52:21 2002
+++ php4/ext/dba/dba.c  Fri Nov 22 10:53:00 2002
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: dba.c,v 1.61.2.2 2002/11/14 21:52:21 helly Exp $ */
+/* $Id: dba.c,v 1.61.2.3 2002/11/22 15:53:00 helly Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -285,6 +285,8 @@
 {
DBA_ID_PARS;
zval **val, **key;
+   char *v;
+   int len;
 
if(ac != 3 || zend_get_parameters_ex(ac, key, val, id) != SUCCESS) {
WRONG_PARAM_COUNT;
@@ -295,8 +297,19 @@
 
DBA_WRITE_CHECK;

-   if(info-hnd-update(info, VALLEN(key), VALLEN(val), mode TSRMLS_CC) == 
SUCCESS)
-   RETURN_TRUE;
+   if (PG(magic_quotes_runtime)) {
+   len = Z_STRLEN_PP(val);
+   v = estrndup(Z_STRVAL_PP(val), len);
+   php_stripslashes(v, len TSRMLS_CC); 
+   if(info-hnd-update(info, VALLEN(key), v, len, mode TSRMLS_CC) == 
+SUCCESS) {
+   efree(v);
+   RETURN_TRUE;
+   }
+   efree(v);
+   } else {
+   if(info-hnd-update(info, VALLEN(key), VALLEN(val), mode TSRMLS_CC) 
+== SUCCESS)
+   RETURN_TRUE;
+   }
RETURN_FALSE;
 }
 /* }}} */
Index: php4/ext/dba/tests/dba008.phpt
diff -u php4/ext/dba/tests/dba008.phpt:1.1.2.2 php4/ext/dba/tests/dba008.phpt:1.1.2.3
--- php4/ext/dba/tests/dba008.phpt:1.1.2.2  Fri Nov 15 11:39:36 2002
+++ php4/ext/dba/tests/dba008.phpt  Fri Nov 22 10:53:01 2002
@@ -10,11 +10,15 @@
require_once('test.inc');
echo database handler: $handler\n;
if (($db_file=dba_open($db_file, n, $handler))!==FALSE) {
-   dba_insert(key1, '', $db_file);
ini_set('magic_quotes_runtime', 0);
+   dba_insert(key1, '', $db_file);
var_dump(dba_fetch(key1, $db_file));
ini_set('magic_quotes_runtime', 1);
var_dump(dba_fetch(key1, $db_file));
+   dba_replace(key1, '\', $db_file);
+   var_dump(dba_fetch(key1, $db_file));
+   ini_set('magic_quotes_runtime', 0);
+   var_dump(dba_fetch(key1, $db_file));
dba_close($db_file);
} else {
echo Error creating database\n;
@@ -24,3 +28,5 @@
 database handler: %s
 string(1) 
 string(2) \
+string(2) \
+string(1) 



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php