georg Sat Jan 8 10:11:37 2005 EDT
Modified files:
/php-src/ext/mysqli mysqli_embedded.c
/php-src/ext/mysqli/tests connect.inc
Log:
fixed compile bug under Windows (libmysql.def currently doesn't export
mysql_server_init/end).
Thanks to Sebastian Bergmann for reporting
http://cvs.php.net/diff.php/php-src/ext/mysqli/mysqli_embedded.c?r1=1.1&r2=1.2&ty=u
Index: php-src/ext/mysqli/mysqli_embedded.c
diff -u php-src/ext/mysqli/mysqli_embedded.c:1.1
php-src/ext/mysqli/mysqli_embedded.c:1.2
--- php-src/ext/mysqli/mysqli_embedded.c:1.1 Fri Jan 7 09:59:59 2005
+++ php-src/ext/mysqli/mysqli_embedded.c Sat Jan 8 10:11:35 2005
@@ -31,6 +31,7 @@
initialize and start embedded server */
PHP_FUNCTION(mysqli_embedded_server_start)
{
+#ifdef HAVE_EMBEDDED_MYSQLI
int argc = 0;
char **arguments;
char **groups;
@@ -50,68 +51,63 @@
mysql_server_init(-1,NULL, NULL);
RETURN_TRUE;
}
+ /* get arguments */
+ if ((argc = zend_hash_num_elements(HASH_OF(*args)))) {
+ arguments = safe_emalloc(sizeof(char *), argc + 1, 0);
+ arguments[0] = NULL;
- if (MyG(embedded)) {
- /* get arguments */
- if ((argc = zend_hash_num_elements(HASH_OF(*args)))) {
- arguments = safe_emalloc(sizeof(char *), argc + 1, 0);
- arguments[0] = NULL;
-
- zend_hash_internal_pointer_reset_ex(HASH_OF(*args),
&pos);
-
- for (index = 0;;
zend_hash_move_forward_ex(HASH_OF(*args), &pos)) {
- zval **item;
-
- if
(zend_hash_get_current_data_ex(HASH_OF(*args), (void **) &item, &pos) ==
FAILURE) {
- break;
- }
-
- convert_to_string_ex(item);
-
- arguments[++index] = Z_STRVAL_PP(item);
+ zend_hash_internal_pointer_reset_ex(HASH_OF(*args), &pos);
+
+ for (index = 0;; zend_hash_move_forward_ex(HASH_OF(*args),
&pos)) {
+ zval **item;
+
+ if (zend_hash_get_current_data_ex(HASH_OF(*args), (void
**) &item, &pos) == FAILURE) {
+ break;
}
- argc++;
+
+ convert_to_string_ex(item);
+
+ arguments[++index] = Z_STRVAL_PP(item);
}
+ argc++;
+ }
+
+ /* get groups */
+ if ((zend_hash_num_elements(HASH_OF(*grps)))) {
+ groups = safe_emalloc(sizeof(char *),
zend_hash_num_elements(HASH_OF(*grps)) + 1, 0);
+ arguments[0] = NULL;
- /* get groups */
- if ((zend_hash_num_elements(HASH_OF(*grps)))) {
- groups = safe_emalloc(sizeof(char *),
zend_hash_num_elements(HASH_OF(*grps)) + 1, 0);
- arguments[0] = NULL;
-
- zend_hash_internal_pointer_reset_ex(HASH_OF(*args),
&pos);
-
- for (index = 0;;
zend_hash_move_forward_ex(HASH_OF(*args), &pos)) {
- zval ** item;
-
- if
(zend_hash_get_current_data_ex(HASH_OF(*args), (void **) &item, &pos) ==
FAILURE) {
- break;
- }
+ zend_hash_internal_pointer_reset_ex(HASH_OF(*args), &pos);
- convert_to_string_ex(item);
+ for (index = 0;; zend_hash_move_forward_ex(HASH_OF(*args),
&pos)) {
+ zval ** item;
- groups[++index] = Z_STRVAL_PP(item);
+ if (zend_hash_get_current_data_ex(HASH_OF(*args), (void
**) &item, &pos) == FAILURE) {
+ break;
}
- groups[index] = NULL;
- } else {
- groups = safe_emalloc(sizeof(char *), 1, 0);
- groups[0] = NULL;
- }
- rc = mysql_server_init(argc, arguments, NULL);
+ convert_to_string_ex(item);
- if (argc) {
- efree(arguments);
+ groups[++index] = Z_STRVAL_PP(item);
}
- efree(groups);
+ groups[index] = NULL;
+ } else {
+ groups = safe_emalloc(sizeof(char *), 1, 0);
+ groups[0] = NULL;
+ }
- if (rc) {
- RETURN_FALSE;
- }
- RETURN_TRUE;
+ rc = mysql_server_init(argc, arguments, NULL);
+
+ if (argc) {
+ efree(arguments);
}
+ efree(groups);
- php_error_docref(NULL TSRMLS_CC, E_ERROR,
- "Can't start embedded server. PHP
wasn't configured with mysql embedded server support");
+ if (rc) {
+ RETURN_FALSE;
+ }
+ RETURN_TRUE;
+#endif
}
/* }}} */
@@ -119,6 +115,8 @@
*/
PHP_FUNCTION(mysqli_embedded_server_end)
{
+#ifdef HAVE_MYSQLI_EMBEDDED
mysql_server_end();
+#endif
}
/* }}} */
http://cvs.php.net/diff.php/php-src/ext/mysqli/tests/connect.inc?r1=1.2&r2=1.3&ty=u
Index: php-src/ext/mysqli/tests/connect.inc
diff -u php-src/ext/mysqli/tests/connect.inc:1.2
php-src/ext/mysqli/tests/connect.inc:1.3
--- php-src/ext/mysqli/tests/connect.inc:1.2 Fri Jan 7 09:59:59 2005
+++ php-src/ext/mysqli/tests/connect.inc Sat Jan 8 10:11:37 2005
@@ -9,8 +9,6 @@
$host = "localhost";
$user = "root";
$passwd = "";
-
- $driver->embedded_server_start(FALSE, NULL, NULL);
} else {
$path = realpath('./ext/mysqli/tests');
$host = $user = $passwd = NULL;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php