From: krakjoe Date: Wed, 27 Nov 2013 09:55:16 +0000 (+0000) Subject: improve api X-Git-Tag: php-5.6.0alpha1~110^2~30^2~75 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=37b3a21cf4802b0091d42c79c020bce1199641f7;p=php improve api --- diff --git a/phpdbg_bp.c b/phpdbg_bp.c index 61c8f74d0a..8221628d7f 100644 --- a/phpdbg_bp.c +++ b/phpdbg_bp.c @@ -66,7 +66,7 @@ PHPDBG_API void phpdbg_export_breakpoints(FILE *handle TSRMLS_DC) /* {{{ */ phpdbg_notice( "Exporting %ld breakpoints", zend_hash_num_elements(&PHPDBG_G(bp)[PHPDBG_BREAK_MAP])); - + /* this only looks like magic, it isn't */ for (zend_hash_internal_pointer_reset_ex(&PHPDBG_G(bp)[PHPDBG_BREAK_MAP], &position[0]); zend_hash_get_current_data_ex(&PHPDBG_G(bp)[PHPDBG_BREAK_MAP], (void**)&table, &position[0]) == SUCCESS; zend_hash_move_forward_ex(&PHPDBG_G(bp)[PHPDBG_BREAK_MAP], &position[0])) { diff --git a/phpdbg_break.c b/phpdbg_break.c index 1b9b14b82a..a8a5677e80 100644 --- a/phpdbg_break.c +++ b/phpdbg_break.c @@ -48,7 +48,7 @@ PHPDBG_BREAK(method) /* {{{ */ phpdbg_default_switch_case(); } - + return SUCCESS; } /* }}} */ diff --git a/phpdbg_cmd.c b/phpdbg_cmd.c index e9a81c9505..e01645fdcd 100644 --- a/phpdbg_cmd.c +++ b/phpdbg_cmd.c @@ -246,7 +246,7 @@ PHPDBG_API phpdbg_input_t *phpdbg_read_input(char *buffered TSRMLS_DC) /* {{{ */ } else cmd = buffered; /* allocate and sanitize buffer */ - buffer = (phpdbg_input_t*) emalloc(sizeof(phpdbg_input_t)); + buffer = (phpdbg_input_t*) ecalloc(1, sizeof(phpdbg_input_t)); if (!buffer) { return NULL; } @@ -283,25 +283,31 @@ PHPDBG_API phpdbg_input_t *phpdbg_read_input(char *buffered TSRMLS_DC) /* {{{ */ return NULL; } /* }}} */ -PHPDBG_API void phpdbg_destroy_input(phpdbg_input_t **input TSRMLS_DC) /*{{{ */ +PHPDBG_API void phpdbg_destroy_argv(phpdbg_input_t **argv, int argc TSRMLS_DC) /* {{{ */ { - if (*input) { - if ((*input)->string) { - efree((*input)->string); - } - - if ((*input)->argc > 0) { + if (argv) { + if (argc) { int arg; - for (arg=0; arg<(*input)->argc; arg++) { + for (arg=0; argargv[arg] TSRMLS_CC); + &argv[arg] TSRMLS_CC); } } + efree(argv); + } + +} /* }}} */ - if ((*input)->argv) { - efree((*input)->argv); +PHPDBG_API void phpdbg_destroy_input(phpdbg_input_t **input TSRMLS_DC) /*{{{ */ +{ + if (*input) { + if ((*input)->string) { + efree((*input)->string); } + phpdbg_destroy_argv( + (*input)->argv, (*input)->argc TSRMLS_CC); + efree(*input); } } /* }}} */ diff --git a/phpdbg_cmd.h b/phpdbg_cmd.h index d72cb5b0bd..fcb96879c5 100644 --- a/phpdbg_cmd.h +++ b/phpdbg_cmd.h @@ -112,8 +112,13 @@ typedef struct { * Input Management */ PHPDBG_API phpdbg_input_t* phpdbg_read_input(char *buffered TSRMLS_DC); -PHPDBG_API phpdbg_input_t** phpdbg_read_argv(char *buffer, int *argc TSRMLS_DC); PHPDBG_API void phpdbg_destroy_input(phpdbg_input_t** TSRMLS_DC); + +/* +* Argument Management +*/ +PHPDBG_API phpdbg_input_t** phpdbg_read_argv(char *buffer, int *argc TSRMLS_DC); +PHPDBG_API void phpdbg_destroy_argv(phpdbg_input_t **argv, int argc TSRMLS_DC); #define phpdbg_argv_is(n, s) \ (memcmp(input->argv[n]->string, s, input->argv[n]->length-1) == SUCCESS)