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/standard - php_var.h (source / functions) Hit Total Coverage
Test: PHP Code Coverage Lines: 17 30 56.7 %
Date: 2014-07-23 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* 
       2             :    +----------------------------------------------------------------------+
       3             :    | PHP Version 5                                                        |
       4             :    +----------------------------------------------------------------------+
       5             :    | Copyright (c) 1997-2013 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: Jani Lehtimäki <jkl@njet.net>                                |
      16             :    +----------------------------------------------------------------------+
      17             : */
      18             : 
      19             : /* $Id$ */
      20             : 
      21             : #ifndef PHP_VAR_H
      22             : #define PHP_VAR_H
      23             : 
      24             : #include "ext/standard/php_smart_str_public.h"
      25             : 
      26             : PHP_FUNCTION(var_dump);
      27             : PHP_FUNCTION(var_export);
      28             : PHP_FUNCTION(debug_zval_dump);
      29             : PHP_FUNCTION(serialize);
      30             : PHP_FUNCTION(unserialize);
      31             : PHP_FUNCTION(memory_get_usage);
      32             : PHP_FUNCTION(memory_get_peak_usage);
      33             : 
      34             : PHPAPI void php_var_dump(zval **struc, int level TSRMLS_DC);
      35             : PHPAPI void php_var_export(zval **struc, int level TSRMLS_DC);
      36             : PHPAPI void php_var_export_ex(zval **struc, int level, smart_str *buf TSRMLS_DC);
      37             : 
      38             : PHPAPI void php_debug_zval_dump(zval **struc, int level TSRMLS_DC);
      39             : 
      40             : /* typdef HashTable php_serialize_data_t; */
      41             : #define php_serialize_data_t HashTable
      42             : 
      43             : struct php_unserialize_data {
      44             :         void *first;
      45             :         void *first_dtor;
      46             : };
      47             : 
      48             : typedef struct php_unserialize_data php_unserialize_data_t;
      49             : 
      50             : PHPAPI void php_var_serialize(smart_str *buf, zval **struc, php_serialize_data_t *var_hash TSRMLS_DC);
      51             : PHPAPI int php_var_unserialize(zval **rval, const unsigned char **p, const unsigned char *max, php_unserialize_data_t *var_hash TSRMLS_DC);
      52             : 
      53             : #define PHP_VAR_SERIALIZE_INIT(var_hash) \
      54             :    zend_hash_init(&(var_hash), 10, NULL, NULL, 0)
      55             : #define PHP_VAR_SERIALIZE_DESTROY(var_hash) \
      56             :    zend_hash_destroy(&(var_hash))
      57             : 
      58             : #define PHP_VAR_UNSERIALIZE_INIT(var_hash) \
      59             :         (var_hash).first = 0; \
      60             :         (var_hash).first_dtor = 0
      61             : #define PHP_VAR_UNSERIALIZE_DESTROY(var_hash) \
      62             :         var_destroy(&(var_hash))
      63             : 
      64             : PHPAPI void var_replace(php_unserialize_data_t *var_hash, zval *ozval, zval **nzval);
      65             : PHPAPI void var_push_dtor(php_unserialize_data_t *var_hash, zval **val);
      66             : PHPAPI void var_destroy(php_unserialize_data_t *var_hash);
      67             : 
      68             : #define PHP_VAR_UNSERIALIZE_ZVAL_CHANGED(var_hash, ozval, nzval) \
      69             :         var_replace((var_hash), (ozval), &(nzval))
      70             :         
      71             : PHPAPI zend_class_entry *php_create_empty_class(char *class_name, int len);
      72             : 
      73          85 : static inline int php_varname_check(char *name, int name_len, zend_bool silent TSRMLS_DC) /* {{{ */
      74             : {
      75          85 :     if (name_len == sizeof("GLOBALS") - 1 && !memcmp(name, "GLOBALS", sizeof("GLOBALS") - 1)) {
      76           1 :                 if (!silent) {
      77           1 :                         php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attempted GLOBALS variable overwrite");
      78             :                 }
      79           1 :         return FAILURE;
      80         102 :     } else if (name[0] == '_' &&
      81             :             (
      82           3 :              (name_len == sizeof("_GET") - 1 && !memcmp(name, "_GET", sizeof("_GET") - 1)) ||
      83           3 :              (name_len == sizeof("_POST") - 1 && !memcmp(name, "_POST", sizeof("_POST") - 1)) ||
      84           3 :              (name_len == sizeof("_COOKIE") - 1 && !memcmp(name, "_COOKIE", sizeof("_COOKIE") - 1)) ||
      85           0 :              (name_len == sizeof("_ENV") - 1 && !memcmp(name, "_ENV", sizeof("_ENV") - 1)) ||
      86           0 :              (name_len == sizeof("_SERVER") - 1 && !memcmp(name, "_SERVER", sizeof("_SERVER") - 1)) ||
      87           3 :              (name_len == sizeof("_SESSION") - 1 && !memcmp(name, "_SESSION", sizeof("_SESSION") - 1)) ||
      88           3 :              (name_len == sizeof("_FILES") - 1  && !memcmp(name, "_FILES", sizeof("_FILES") - 1)) ||
      89           3 :              (name_len == sizeof("_REQUEST") -1 && !memcmp(name, "_REQUEST", sizeof("_REQUEST") - 1))
      90             :             )
      91             :             ) {
      92          15 :                 if (!silent) {
      93          15 :                         php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attempted super-global (%s) variable overwrite", name);
      94             :                 }
      95          15 :         return FAILURE;
      96          69 :     } else if (name[0] == 'H' &&
      97             :             (
      98           0 :              (name_len == sizeof("HTTP_POST_VARS") - 1 && !memcmp(name, "HTTP_POST_VARS", sizeof("HTTP_POST_VARS") - 1)) ||
      99           0 :              (name_len == sizeof("HTTP_GET_VARS") - 1 && !memcmp(name, "HTTP_GET_VARS", sizeof("HTTP_GET_VARS") - 1)) ||
     100           0 :              (name_len == sizeof("HTTP_COOKIE_VARS") - 1 && !memcmp(name, "HTTP_COOKIE_VARS", sizeof("HTTP_COOKIE_VARS") - 1)) ||
     101           0 :              (name_len == sizeof("HTTP_ENV_VARS") - 1 && !memcmp(name, "HTTP_ENV_VARS", sizeof("HTTP_ENV_VARS") - 1)) ||
     102           0 :              (name_len == sizeof("HTTP_SERVER_VARS") - 1 && !memcmp(name, "HTTP_SERVER_VARS", sizeof("HTTP_SERVER_VARS") - 1)) ||
     103           0 :              (name_len == sizeof("HTTP_SESSION_VARS") - 1 && !memcmp(name, "HTTP_SESSION_VARS", sizeof("HTTP_SESSION_VARS") - 1)) ||
     104           0 :              (name_len == sizeof("HTTP_RAW_POST_DATA") - 1 && !memcmp(name, "HTTP_RAW_POST_DATA", sizeof("HTTP_RAW_POST_DATA") - 1)) ||
     105           0 :              (name_len == sizeof("HTTP_POST_FILES") - 1 && !memcmp(name, "HTTP_POST_FILES", sizeof("HTTP_POST_FILES") - 1))
     106             :             )
     107             :             ) {
     108           0 :                 if (!silent) {
     109           0 :                         php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attempted long input array (%s) overwrite", name);
     110             :                 }
     111           0 :         return FAILURE;
     112             :     }
     113          69 :         return SUCCESS;
     114             : }
     115             : /* }}} */
     116             : 
     117             : #endif /* PHP_VAR_H */

Generated by: LCOV version 1.10

Generated at Wed, 23 Jul 2014 19:58:40 +0000 (2 days ago)

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