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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
/*
* php4.swg
*
* PHP4 runtime library
*
*/
#ifdef __cplusplus
extern "C" {
#endif
#include "zend.h"
#include "zend_API.h"
#include "php.h"
#ifdef __cplusplus
}
#endif
SWIGRUNTIME(void)
SWIG_MakePtr(char *c, void *ptr, swig_type_info *ty) {
static char hex[17] = "0123456789abcdef";
unsigned long p, s;
char data[32], *r;
r = data;
p = (unsigned long) ptr;
if (p > 0) {
while (p > 0) {
s = p & 0xf;
*(r++) = hex[s];
p = p >> 4;
}
*r = '_';
while (r >= data) {
*(c++) = *(r--);
}
strcpy (c, ty->name);
} else {
strcpy (c, "NULL");
}
}
SWIGRUNTIME(void)
SWIG_SetPointerChar(char **c, void *ptr, swig_type_info *type) {
char data[512];
SWIG_MakePtr(data, ptr, type);
*c = estrdup(data);
}
SWIGRUNTIME(void)
SWIG_SetPointerZval(zval *z, void *ptr, swig_type_info *type) {
char data[512];
SWIG_MakePtr(data, ptr, type);
if((z->type == IS_STRING) && (z->value.str.val)) { efree(z->value.str.val); }
z->type = IS_STRING;
z->value.str.val = estrdup(data);
z->value.str.len = strlen(data)+1;
}
SWIGRUNTIME(int)
SWIG_ConvertPtr(zval *z, void **ptr, swig_type_info *ty) {
char *c;
register int d;
unsigned long p;
zval *val;
swig_type_info *tc;
if(z == NULL) {
*ptr = 0;
return 0;
}
c = Z_STRVAL_P(z);
if(c == NULL) {
*ptr = 0;
return 0;
}
p = 0;
if (*c != '_') {
*ptr = (void *) 0;
if (strcmp(c,"NULL") == 0) {
return 0;
} else {
goto type_error;
}
}
c++;
/* Extract hex value from pointer */
while ((d = *c)) {
if ((d >= '0') && (d <= '9'))
p = (p << 4) + (d - '0');
else if ((d >= 'a') && (d <= 'f'))
p = (p << 4) + (d - ('a'-10));
else
break;
c++;
}
*ptr = (void *) p;
if(ty) {
tc = SWIG_TypeCheck(c,ty);
if(!tc) goto type_error;
*ptr = SWIG_TypeCast(tc, (void*)p);
}
return 0;
type_error:
return -1;
}
|