Back to index

php5  5.3.10
Functions
mysqli_embedded.c File Reference
#include <signal.h>
#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_mysqli_structs.h"

Go to the source code of this file.

Functions

 PHP_FUNCTION (mysqli_embedded_server_start)
 PHP_FUNCTION (mysqli_embedded_server_end)

Function Documentation

PHP_FUNCTION ( mysqli_embedded_server_start  )

Definition at line 32 of file mysqli_embedded.c.

{
#ifdef HAVE_EMBEDDED_MYSQLI
       long start;
       zval *args;
       zval *grps;

       int    argc = 0;
       char **arguments;
       char **groups;
       HashPosition pos;
       int index, rc;

       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "laa", &start, &args, &grps) == FAILURE) {
              return;
       }

       if (!start) {
              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;

              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);
              }
              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);
              groups[0] = NULL;

              zend_hash_internal_pointer_reset_ex(HASH_OF(grps), &pos);

              for (index = 0;; zend_hash_move_forward_ex(HASH_OF(grps), &pos))      {
                     zval ** item;

                     if (zend_hash_get_current_data_ex(HASH_OF(grps), (void **) &item, &pos) == FAILURE) {
                            break;
                     }

                     convert_to_string_ex(item);

                     groups[++index] = Z_STRVAL_PP(item);
              }
              groups[index] = NULL;
       } else {
              groups = safe_emalloc(sizeof(char *), 1, 0);
              groups[0] = NULL;
       }

       rc = mysql_server_init(argc, arguments, groups);

       if (argc) {
              efree(arguments);
       }
       efree(groups);

       if (rc) {
              RETURN_FALSE;
       }
       RETURN_TRUE;
#endif
}

Here is the call graph for this function:

PHP_FUNCTION ( mysqli_embedded_server_end  )

Definition at line 115 of file mysqli_embedded.c.

{
#ifdef HAVE_MYSQLI_EMBEDDED
       mysql_server_end();
#endif
}