summaryrefslogtreecommitdiff
path: root/ext/satellite/common.h
blob: 95582ba4689b2a93ef36303291fa124bb0323cdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*
   +----------------------------------------------------------------------+
   | PHP version 4.0                                                      |
   +----------------------------------------------------------------------+
   | Copyright (c) 1997-2001 The PHP Group                                |
   +----------------------------------------------------------------------+
   | This source file is subject to version 2.02 of the PHP license,      |
   | that is bundled with this package in the file LICENSE, and is        |
   | available at through the world-wide-web at                           |
   | http://www.php.net/license/2_02.txt.                                 |
   | If you did not receive a copy of the PHP license and are unable to   |
   | obtain it through the world-wide-web, please send a note to          |
   | license@php.net so we can mail you a copy immediately.               |
   +----------------------------------------------------------------------+
   | Author: David Eriksson <david@2good.com>                            |
   +----------------------------------------------------------------------+
 */

/*
 * $Id$
 * vim: syntax=c tabstop=2 shiftwidth=2
 */

/* -----------------------------------------------------------------------
 * 
 * Some common stuff, now only memory allocation macros
 *
 * -----------------------------------------------------------------------
 */
#ifndef __common_h__
#define __common_h__

#include <zend.h>

#define DEBUG_MEMORY	0

#if DEBUG_MEMORY

void * satellite_debug_calloc(int count, int length);
void satellite_debug_free(void * pBuffer);
char * satellite_debug_strdup(const char * pString);

/* default memory allocation */
#define satellite_new_n(type,n)	(type*)satellite_debug_calloc((n), sizeof(type))
#define satellite_delete(p)			satellite_debug_free(p)
#define satellite_strdup(s)			satellite_debug_strdup(s)

#else

/* default memory allocation */
#define satellite_new_n(type,n)	(type*)ecalloc((n), sizeof(type))
#define satellite_delete(p)			if(p)efree(p)
#define satellite_strdup(s)			estrdup(s)

#endif

#define satellite_new_1(type)		satellite_new_n(type, 1)
#define satellite_new(type)			satellite_new_1(type)


/* macros for old prefix "orbit_" */

#define orbit_new_n(type,n)		satellite_new_n(type,n)
#define orbit_delete(p)				satellite_delete(p)
#define orbit_strdup(s)				satellite_strdup(s)
#define orbit_new_1(type)			satellite_new_1(type)
#define orbit_new(type)				satellite_new(type)

#endif /* __common_h__ */