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

LTP GCOV extension - code coverage report
Current view: directory - mysqli - mysqli_driver.c
Test: PHP Code Coverage
Date: 2009-11-19 Instrumented lines: 25
Code covered: 80.0 % Executed lines: 20
Legend: not executed executed

       1                 : /*
       2                 :   +----------------------------------------------------------------------+
       3                 :   | PHP Version 5                                                        |
       4                 :   +----------------------------------------------------------------------+
       5                 :   | Copyright (c) 1997-2009 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.h"
      29                 : #include "zend_exceptions.h"
      30                 : 
      31                 : 
      32                 : #define MAP_PROPERTY_MYG_BOOL_READ(name, value) \
      33                 : static int name(mysqli_object *obj, zval **retval TSRMLS_DC) \
      34                 : { \
      35                 :         ALLOC_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                 :         ALLOC_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                 :         ALLOC_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                 : static int driver_report_write(mysqli_object *obj, zval *value TSRMLS_DC)
      79               0 : {
      80               0 :         MyG(report_mode) = Z_LVAL_P(value);
      81               0 :         php_set_error_handling(MyG(report_mode) & MYSQLI_REPORT_STRICT ? EH_THROW : EH_NORMAL, 
      82                 :                                                         zend_exception_get_default(TSRMLS_C) TSRMLS_CC);
      83               0 :         return SUCCESS;
      84                 : }
      85                 : /* }}} */
      86                 : 
      87                 : /* {{{ property driver_embedded_read */
      88                 : static int driver_embedded_read(mysqli_object *obj, zval **retval TSRMLS_DC)
      89             292 : {
      90             292 :         ALLOC_ZVAL(*retval);
      91                 : #ifdef HAVE_EMBEDDED_MYSQLI
      92                 :         ZVAL_BOOL(*retval, 1);
      93                 : #else
      94             292 :         ZVAL_BOOL(*retval, 0);
      95                 : #endif
      96             292 :         return SUCCESS;
      97                 : }
      98                 : /* }}} */
      99                 : 
     100                 : /* {{{ property driver_client_version_read */
     101                 : static int driver_client_version_read(mysqli_object *obj, zval **retval TSRMLS_DC)
     102               1 : {
     103               1 :         ALLOC_ZVAL(*retval);
     104               1 :         ZVAL_LONG(*retval, MYSQL_VERSION_ID);
     105               1 :         return SUCCESS;
     106                 : }
     107                 : /* }}} */
     108                 : 
     109                 : /* {{{ property driver_client_info_read */
     110                 : static int driver_client_info_read(mysqli_object *obj, zval **retval TSRMLS_DC)
     111               1 : {
     112               1 :         ALLOC_ZVAL(*retval);
     113               1 :         ZVAL_STRING(*retval, MYSQL_SERVER_VERSION, 1);
     114               1 :         return SUCCESS;
     115                 : }
     116                 : /* }}} */
     117                 : 
     118                 : /* {{{ property driver_driver_version_read */
     119                 : static int driver_driver_version_read(mysqli_object *obj, zval **retval TSRMLS_DC)
     120               1 : {
     121               1 :         ALLOC_ZVAL(*retval);
     122               1 :         ZVAL_LONG(*retval, MYSQLI_VERSION_ID);
     123               1 :         return SUCCESS;
     124                 : }
     125                 : /* }}} */
     126                 : 
     127               1 : MAP_PROPERTY_MYG_BOOL_READ(driver_reconnect_read, reconnect);
     128               0 : MAP_PROPERTY_MYG_BOOL_WRITE(driver_reconnect_write, reconnect);
     129               1 : MAP_PROPERTY_MYG_LONG_READ(driver_report_read, report_mode);
     130                 : 
     131                 : ZEND_FUNCTION(mysqli_driver_construct)
     132             291 : {
     133             291 : }
     134                 : 
     135                 : mysqli_property_entry mysqli_driver_property_entries[] = {
     136                 :         {"client_info", driver_client_info_read, NULL},
     137                 :         {"client_version", driver_client_version_read, NULL},
     138                 :         {"driver_version", driver_driver_version_read, NULL},
     139                 :         {"embedded", driver_embedded_read, NULL},
     140                 :         {"reconnect", driver_reconnect_read, driver_reconnect_write},
     141                 :         {"report_mode", driver_report_read, driver_report_write},
     142                 :         {NULL, NULL, NULL}
     143                 : };
     144                 : 
     145                 : /* {{{ mysqli_driver_methods[]
     146                 :  */
     147                 : zend_function_entry mysqli_driver_methods[] = {
     148                 :         PHP_FALIAS(embedded_server_start, mysqli_embedded_server_start, NULL)
     149                 :         PHP_FALIAS(embedded_server_end, mysqli_embedded_server_end, NULL)
     150                 :         {NULL, NULL, NULL}
     151                 : };
     152                 : /* }}} */
     153                 : 
     154                 : /*
     155                 :  * Local variables:
     156                 :  * tab-width: 4
     157                 :  * c-basic-offset: 4
     158                 :  * indent-tabs-mode: t
     159                 :  * End:
     160                 :  * vim600: noet sw=4 ts=4 fdm=marker
     161                 :  * vim<600: noet sw=4 ts=4
     162                 :  */

Generated by: LTP GCOV extension version 1.5

Generated at Thu, 19 Nov 2009 08:20:13 +0000 (5 days ago)

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