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 - Zend - zend_dynamic_array.c (source / functions) Hit Total Coverage
Test: PHP Code Coverage Lines: 0 19 0.0 %
Date: 2014-09-13 Functions: 0 4 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :    +----------------------------------------------------------------------+
       3             :    | Zend Engine                                                          |
       4             :    +----------------------------------------------------------------------+
       5             :    | Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
       6             :    +----------------------------------------------------------------------+
       7             :    | This source file is subject to version 2.00 of the Zend 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.zend.com/license/2_00.txt.                                |
      11             :    | If you did not receive a copy of the Zend license and are unable to  |
      12             :    | obtain it through the world-wide-web, please send a note to          |
      13             :    | license@zend.com so we can mail you a copy immediately.              |
      14             :    +----------------------------------------------------------------------+
      15             :    | Authors: Andi Gutmans <andi@zend.com>                                |
      16             :    |          Zeev Suraski <zeev@zend.com>                                |
      17             :    +----------------------------------------------------------------------+
      18             : */
      19             : 
      20             : /* $Id$ */
      21             : 
      22             : #include "zend.h"
      23             : 
      24             : typedef struct _dynamic_array {
      25             :         char *array;
      26             :         unsigned int element_size;
      27             :         unsigned int current;
      28             :         unsigned int allocated;
      29             : } dynamic_array;
      30             : 
      31           0 : ZEND_API int zend_dynamic_array_init(dynamic_array *da, unsigned int element_size, unsigned int size)
      32             : {
      33           0 :         da->element_size = element_size;
      34           0 :         da->allocated = size;
      35           0 :         da->current = 0;
      36           0 :         da->array = (char *) emalloc(size*element_size);
      37           0 :         if (da->array == NULL) {
      38           0 :                 return 1;
      39             :         }
      40           0 :         return 0;
      41             : }
      42             : 
      43           0 : ZEND_API void *zend_dynamic_array_push(dynamic_array *da)
      44             : {
      45           0 :         if (da->current == da->allocated) {
      46           0 :                 da->allocated *= 2;
      47           0 :                 da->array = (char *) erealloc(da->array, da->allocated*da->element_size);
      48             :         }
      49           0 :         return (void *)(da->array+(da->current++)*da->element_size);
      50             : }
      51             : 
      52           0 : ZEND_API void *zend_dynamic_array_pop(dynamic_array *da)
      53             : {
      54           0 :         return (void *)(da->array+(--(da->current))*da->element_size);
      55             : 
      56             : }
      57             : 
      58           0 : ZEND_API void *zend_dynamic_array_get_element(dynamic_array *da, unsigned int index)
      59             : {
      60           0 :         if (index >= da->current) {
      61           0 :                 return NULL;
      62             :         }
      63           0 :         return (void *)(da->array+index*da->element_size);
      64             : }
      65             : 
      66             : /*
      67             :  * Local variables:
      68             :  * tab-width: 4
      69             :  * c-basic-offset: 4
      70             :  * indent-tabs-mode: t
      71             :  * End:
      72             :  */

Generated by: LCOV version 1.10

Generated at Sat, 13 Sep 2014 16:24:22 +0000 (6 days ago)

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