PHP  
 PHP: Test and Code Coverage Analysis
downloads | QA | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
 

LCOV - code coverage report
Current view: top level - ext/mysqli - mysqli_driver.c (source / functions) Hit Total Coverage
Test: PHP Code Coverage Lines: 0 24 0.0 %
Date: 2014-04-16 Functions: 0 9 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :   +----------------------------------------------------------------------+
       3             :   | PHP Version 5                                                        |
       4             :   +----------------------------------------------------------------------+
       5             :   | Copyright (c) 1997-2014 The PHP Group                                |
       6             :   +----------------------------------------------------------------------+
       7             :   | This source file is subject to version 3.01 of the PHP license,      |
       8             :   | that is bundled with this package in the file LICENSE, and is        |
       9             :   | available through the world-wide-web at the following url:           |
      10             :   | http://www.php.net/license/3_01.txt                                  |
      11             :   | If you did not receive a copy of the PHP license and are unable to   |
      12             :   | obtain it through the world-wide-web, please send a note to          |
      13             :   | license@php.net so we can mail you a copy immediately.               |
      14             :   +----------------------------------------------------------------------+
      15             :   | Author: Georg Richter <georg@php.net>                                |
      16             :   +----------------------------------------------------------------------+
      17             : 
      18             : */
      19             : #ifdef HAVE_CONFIG_H
      20             : #include "config.h"
      21             : #endif
      22             : 
      23             : #include <signal.h>
      24             : 
      25             : #include "php.h"
      26             : #include "php_ini.h"
      27             : #include "ext/standard/info.h"
      28             : #include "php_mysqli_structs.h"
      29             : #include "zend_exceptions.h"
      30             : #include "mysqli_fe.h"
      31             : 
      32             : #define MAP_PROPERTY_MYG_BOOL_READ(name, value) \
      33             : static int name(mysqli_object *obj, zval **retval TSRMLS_DC) \
      34             : { \
      35             :         MAKE_STD_ZVAL(*retval); \
      36             :         ZVAL_BOOL(*retval, MyG(value)); \
      37             :         return SUCCESS; \
      38             : } \
      39             : 
      40             : #define MAP_PROPERTY_MYG_BOOL_WRITE(name, value) \
      41             : static int name(mysqli_object *obj, zval *value TSRMLS_DC) \
      42             : { \
      43             :         MyG(value) = Z_LVAL_P(value) > 0; \
      44             :         return SUCCESS; \
      45             : } \
      46             : 
      47             : #define MAP_PROPERTY_MYG_LONG_READ(name, value) \
      48             : static int name(mysqli_object *obj, zval **retval TSRMLS_DC) \
      49             : { \
      50             :         MAKE_STD_ZVAL(*retval); \
      51             :         ZVAL_LONG(*retval, MyG(value)); \
      52             :         return SUCCESS; \
      53             : } \
      54             : 
      55             : #define MAP_PROPERTY_MYG_LONG_WRITE(name, value) \
      56             : static int name(mysqli_object *obj, zval *value TSRMLS_DC) \
      57             : { \
      58             :         MyG(value) = Z_LVAL_P(value); \
      59             :         return SUCCESS; \
      60             : } \
      61             : 
      62             : #define MAP_PROPERTY_MYG_STRING_READ(name, value) \
      63             : static int name(mysqli_object *obj, zval **retval TSRMLS_DC) \
      64             : { \
      65             :         MAKE_STD_ZVAL(*retval); \
      66             :         ZVAL_STRING(*retval, MyG(value), 1); \
      67             :         return SUCCESS; \
      68             : } \
      69             : 
      70             : #define MAP_PROPERTY_MYG_STRING_WRITE(name, value) \
      71             : static int name(mysqli_object *obj, zval *value TSRMLS_DC) \
      72             : { \
      73             :         MyG(value) = Z_STRVAL_P(value); \
      74             :         return SUCCESS; \
      75             : } \
      76             : 
      77             : /* {{{ property driver_report_write */
      78           0 : static int driver_report_write(mysqli_object *obj, zval *value TSRMLS_DC)
      79             : {
      80           0 :         MyG(report_mode) = Z_LVAL_P(value);
      81             :         /*FIXME*/
      82             :         /* zend_replace_error_handling(MyG(report_mode) & MYSQLI_REPORT_STRICT ? EH_THROW : EH_NORMAL, NULL, NULL TSRMLS_CC); */
      83           0 :         return SUCCESS;
      84             : }
      85             : /* }}} */
      86             : 
      87             : /* {{{ property driver_embedded_read */
      88           0 : static int driver_embedded_read(mysqli_object *obj, zval **retval TSRMLS_DC)
      89             : {
      90           0 :         MAKE_STD_ZVAL(*retval);
      91             : #ifdef HAVE_EMBEDDED_MYSQLI
      92             :         ZVAL_BOOL(*retval, 1);
      93             : #else
      94           0 :         ZVAL_BOOL(*retval, 0);
      95             : #endif
      96           0 :         return SUCCESS;
      97             : }
      98             : /* }}} */
      99             : 
     100             : /* {{{ property driver_client_version_read */
     101           0 : static int driver_client_version_read(mysqli_object *obj, zval **retval TSRMLS_DC)
     102             : {
     103           0 :         MAKE_STD_ZVAL(*retval);
     104           0 :         ZVAL_LONG(*retval, MYSQL_VERSION_ID);
     105           0 :         return SUCCESS;
     106             : }
     107             : /* }}} */
     108             : 
     109             : /* {{{ property driver_client_info_read */
     110           0 : static int driver_client_info_read(mysqli_object *obj, zval **retval TSRMLS_DC)
     111             : {
     112           0 :         MAKE_STD_ZVAL(*retval);
     113           0 :         ZVAL_STRING(*retval, (char *)mysql_get_client_info(), 1);
     114           0 :         return SUCCESS;
     115             : }
     116             : /* }}} */
     117             : 
     118             : /* {{{ property driver_driver_version_read */
     119           0 : static int driver_driver_version_read(mysqli_object *obj, zval **retval TSRMLS_DC)
     120             : {
     121           0 :         MAKE_STD_ZVAL(*retval);
     122           0 :         ZVAL_LONG(*retval, MYSQLI_VERSION_ID);
     123           0 :         return SUCCESS;
     124             : }
     125             : /* }}} */
     126             : 
     127           0 : MAP_PROPERTY_MYG_BOOL_READ(driver_reconnect_read, reconnect)
     128           0 : MAP_PROPERTY_MYG_BOOL_WRITE(driver_reconnect_write, reconnect)
     129           0 : MAP_PROPERTY_MYG_LONG_READ(driver_report_read, report_mode)
     130             : 
     131           0 : ZEND_FUNCTION(mysqli_driver_construct)
     132             : {
     133             : #if G0
     134             :         MYSQLI_RESOURCE         *mysqli_resource;
     135             : 
     136             :         mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE));
     137             :         mysqli_resource->ptr = 1;
     138             :         mysqli_resource->status = (ZEND_NUM_ARGS() == 1) ? MYSQLI_STATUS_INITIALIZED : MYSQLI_STATUS_VALID;
     139             :         ((mysqli_object *) zend_object_store_get_object(getThis() TSRMLS_CC))->ptr = mysqli_resource;
     140             : #endif
     141           0 : }
     142             : 
     143             : const mysqli_property_entry mysqli_driver_property_entries[] = {
     144             :         {"client_info", sizeof("client_info") - 1, driver_client_info_read, NULL},
     145             :         {"client_version", sizeof("client_version") - 1, driver_client_version_read, NULL},
     146             :         {"driver_version", sizeof("driver_version") - 1, driver_driver_version_read, NULL},
     147             :         {"embedded", sizeof("embedded") - 1, driver_embedded_read, NULL},
     148             :         {"reconnect", sizeof("reconnect") - 1, driver_reconnect_read, driver_reconnect_write},
     149             :         {"report_mode", sizeof("report_mode") - 1, driver_report_read, driver_report_write},
     150             :         {NULL, 0, NULL, NULL}
     151             : };
     152             : 
     153             : /* {{{ mysqli_warning_property_info_entries */
     154             : const zend_property_info mysqli_driver_property_info_entries[] = {
     155             :         {ZEND_ACC_PUBLIC, "client_info",      sizeof("client_info") - 1,            -1, 0, NULL, 0, NULL},
     156             :         {ZEND_ACC_PUBLIC, "client_version",   sizeof("client_version") - 1, -1, 0, NULL, 0, NULL},
     157             :         {ZEND_ACC_PUBLIC, "driver_version",   sizeof("driver_version") - 1, -1, 0, NULL, 0, NULL},
     158             :         {ZEND_ACC_PUBLIC, "embedded",         sizeof("embedded") - 1,                       -1, 0, NULL, 0, NULL},
     159             :         {ZEND_ACC_PUBLIC, "reconnect",                sizeof("reconnect") - 1,              -1, 0, NULL, 0, NULL},
     160             :         {ZEND_ACC_PUBLIC, "report_mode",      sizeof("report_mode") - 1,            -1, 0, NULL, 0, NULL},
     161             :         {0,                                     NULL,                   0,                                                              -1, 0, NULL, 0, NULL},
     162             : };
     163             : /* }}} */
     164             : 
     165             : 
     166             : /* {{{ mysqli_driver_methods[]
     167             :  */
     168             : const zend_function_entry mysqli_driver_methods[] = {
     169             : #if defined(HAVE_EMBEDDED_MYSQLI)
     170             :         PHP_FALIAS(embedded_server_start, mysqli_embedded_server_start, NULL)
     171             :         PHP_FALIAS(embedded_server_end, mysqli_embedded_server_end, NULL)
     172             : #endif
     173             :         {NULL, NULL, NULL}
     174             : };
     175             : /* }}} */
     176             : 
     177             : /*
     178             :  * Local variables:
     179             :  * tab-width: 4
     180             :  * c-basic-offset: 4
     181             :  * indent-tabs-mode: t
     182             :  * End:
     183             :  * vim600: noet sw=4 ts=4 fdm=marker
     184             :  * vim<600: noet sw=4 ts=4
     185             :  */

Generated by: LCOV version 1.10

Generated at Wed, 16 Apr 2014 12:47:50 +0000 (7 days ago)

Copyright © 2005-2014 The PHP Group
All rights reserved.