== SUCCESS) {
snprintf(strbuf, MAX_STR, STD_FMT, key);
STR_CAT(buf, strbuf, strlen(strbuf));
- php3api_var_serialize(buf, struc);
+ php_var_serialize(buf, struc);
} else {
snprintf(strbuf, MAX_STR, NOTFOUND_FMT, key);
STR_CAT(buf, strbuf, strlen(strbuf));
if(has_value) {
current = (pval *) ecalloc(sizeof(pval), 1);
- if(php3api_var_unserialize(¤t, &q, endptr)) {
+ if(php_var_unserialize(¤t, &q, endptr)) {
zend_hash_update(&EG(symbol_table), name, namelen + 1,
¤t, sizeof(current), NULL);
} else {
#include "php3_var.h"
/* }}} */
-/* {{{ php3api_var_dump
-xmae*/
+/* {{{ php_var_dump */
-void php3api_var_dump(pval **struc, int level)
+void php_var_dump(pval **struc, int level)
{
ulong index;
char *key;
d->type = IS_LONG;
d->value.lval = index;
- php3api_var_dump(&d, level + 2);
+ php_var_dump(&d, level + 2);
efree(d);
}
break;
d->type = IS_STRING;
d->value.str.val = key;
d->value.str.len = strlen(key);
- php3api_var_dump(&d, level + 2);
+ php_var_dump(&d, level + 2);
efree(key);
efree(d);
}
break;
}
- php3api_var_dump(data, level + 2);
+ php_var_dump(data, level + 2);
}
i = sprintf(buf, "%*c}\n", level, ' ');
PHPWRITE(&buf[1], i - 1);
}
/* }}} */
-/* {{{ php3api_var_dump */
+
+/* {{{ php_var_dump */
PHP_FUNCTION(var_dump)
{
- pval **struc;
-
- if (ARG_COUNT(ht) != 1 || getParametersEx(1, &struc) == FAILURE) {
+ zval ***args;
+ int argc;
+ int i;
+
+ argc = ARG_COUNT(ht);
+
+ args = (zval ***)emalloc(argc * sizeof(zval **));
+ if (ARG_COUNT(ht) == 0 || getParametersArrayEx(argc, args) == FAILURE) {
+ efree(args);
WRONG_PARAM_COUNT;
}
- php3api_var_dump(struc, 1);
+
+ for (i=0; i<argc; i++)
+ php_var_dump(args[i], 1);
+
+ efree(args);
}
-
/* }}} */
-/* {{{ php3api_var_dump */
+
+
+/* {{{ php_var_dump */
#define STR_CAT(P,S,I) {\
}
/* }}} */
-/* {{{ php3api_var_serialize */
+/* {{{ php_var_serialize */
-void php3api_var_serialize(pval *buf, pval **struc)
+void php_var_serialize(pval *buf, pval **struc)
{
char s[256];
ulong slen;
d = emalloc(sizeof(pval));
d->type = IS_LONG;
d->value.lval = index;
- php3api_var_serialize(buf, &d);
+ php_var_serialize(buf, &d);
efree(d);
break;
case HASH_KEY_IS_STRING:
d->type = IS_STRING;
d->value.str.val = key;
d->value.str.len = strlen(key);
- php3api_var_serialize(buf, &d);
+ php_var_serialize(buf, &d);
efree(key);
efree(d);
break;
}
- php3api_var_serialize(buf, data);
+ php_var_serialize(buf, data);
}
}
STR_CAT(buf, "}", 1);
}
/* }}} */
-/* {{{ php3api_var_dump */
+/* {{{ php_var_dump */
-int php3api_var_unserialize(pval **rval, const char **p, const char *max)
+int php_var_unserialize(pval **rval, const char **p, const char *max)
{
const char *q;
char *str;
pval *key = emalloc(sizeof(pval));
pval *data = emalloc(sizeof(pval));
- if (!php3api_var_unserialize(&key, p, max)) {
+ if (!php_var_unserialize(&key, p, max)) {
efree(key);
efree(data);
return 0;
}
- if (!php3api_var_unserialize(&data, p, max)) {
+ if (!php_var_unserialize(&data, p, max)) {
pval_destructor(key);
efree(key);
efree(data);
return_value->type = IS_STRING;
return_value->value.str.val = NULL;
return_value->value.str.len = 0;
- php3api_var_serialize(return_value, struc);
+ php_var_serialize(return_value, struc);
}
/* }}} */
if ((*buf)->type == IS_STRING) {
const char *p = (*buf)->value.str.val;
- if (!php3api_var_unserialize(&return_value, &p, p + (*buf)->value.str.len)) {
+ if (!php_var_unserialize(&return_value, &p, p + (*buf)->value.str.len)) {
RETURN_FALSE;
}
} else {
shm_var.type=IS_STRING;
shm_var.value.str.len=0;
shm_var.value.str.val=0;
- php3api_var_serialize(&shm_var,&arg_var);
+ php_var_serialize(&shm_var,&arg_var);
/* insert serialized variable into shared memory */
ret=php3int_put_shmdata(shm_list_ptr->ptr,key,shm_var.value.str.val,shm_var.value.str.len);
shm_var=(sysvshm_chunk*)((char*)shm_list_ptr->ptr+shm_varpos);
shm_data=&shm_var->mem;
- if(php3api_var_unserialize(&return_value, (const char **) &shm_data, shm_data+shm_var->length)!=1) {
+ if(php_var_unserialize(&return_value, (const char **) &shm_data, shm_data+shm_var->length)!=1) {
php_error(E_WARNING, "variable data in shared memory is corruped");
RETURN_FALSE;
}