From f84ba1b039515e4ae72d3182882156073bd3d1ec Mon Sep 17 00:00:00 2001 From: Andrey Hristov Date: Mon, 20 Sep 1999 14:14:26 +0000 Subject: [PATCH] - Upgraded var_dump() to take multiple arguments - php3api_ is changed to php_ --- ext/session/session.c | 4 +-- ext/standard/php3_var.h | 6 ++--- ext/standard/var.c | 59 ++++++++++++++++++++++++----------------- ext/sysvshm/sysvshm.c | 4 +-- 4 files changed, 42 insertions(+), 31 deletions(-) diff --git a/ext/session/session.c b/ext/session/session.c index 03c25bd449..9d9c498892 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -153,7 +153,7 @@ PS_SERIALIZER_ENCODE_FUNC(php) == 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)); @@ -193,7 +193,7 @@ PS_SERIALIZER_DECODE_FUNC(php) 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 { diff --git a/ext/standard/php3_var.h b/ext/standard/php3_var.h index 781992f6df..850baac254 100644 --- a/ext/standard/php3_var.h +++ b/ext/standard/php3_var.h @@ -35,8 +35,8 @@ PHP_FUNCTION(var_dump); PHP_FUNCTION(serialize); PHP_FUNCTION(unserialize); -void php3api_var_dump(pval **struc, int level); -void php3api_var_serialize(pval *buf, pval **struc); -int php3api_var_unserialize(pval **rval, const char **p, const char *max); +void php_var_dump(pval **struc, int level); +void php_var_serialize(pval *buf, pval **struc); +int php_var_unserialize(pval **rval, const char **p, const char *max); #endif /* _PHPVAR_H */ diff --git a/ext/standard/var.c b/ext/standard/var.c index 221627be89..9f1a21a523 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -31,10 +31,9 @@ #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; @@ -96,7 +95,7 @@ void php3api_var_dump(pval **struc, int level) d->type = IS_LONG; d->value.lval = index; - php3api_var_dump(&d, level + 2); + php_var_dump(&d, level + 2); efree(d); } break; @@ -107,13 +106,13 @@ void php3api_var_dump(pval **struc, int level) 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); @@ -126,20 +125,32 @@ void php3api_var_dump(pval **struc, int level) } /* }}} */ -/* {{{ 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; itype = IS_LONG; d->value.lval = index; - php3api_var_serialize(buf, &d); + php_var_serialize(buf, &d); efree(d); break; case HASH_KEY_IS_STRING: @@ -236,12 +247,12 @@ void php3api_var_serialize(pval *buf, pval **struc) 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); @@ -254,9 +265,9 @@ void php3api_var_serialize(pval *buf, pval **struc) } /* }}} */ -/* {{{ 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; @@ -405,12 +416,12 @@ int php3api_var_unserialize(pval **rval, const char **p, const char *max) 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); @@ -447,7 +458,7 @@ PHP_FUNCTION(serialize) 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); } /* }}} */ @@ -465,7 +476,7 @@ PHP_FUNCTION(unserialize) 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 { diff --git a/ext/sysvshm/sysvshm.c b/ext/sysvshm/sysvshm.c index 0b9b2b3276..755edfb75d 100644 --- a/ext/sysvshm/sysvshm.c +++ b/ext/sysvshm/sysvshm.c @@ -260,7 +260,7 @@ PHP_FUNCTION(sysvshm_put_var) 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); @@ -322,7 +322,7 @@ PHP_FUNCTION(sysvshm_get_var) 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; } -- 2.50.1