Browse Source

improve api

pull/550/head
krakjoe 13 years ago
parent
commit
37b3a21cf4
  1. 2
      phpdbg_bp.c
  2. 2
      phpdbg_break.c
  3. 30
      phpdbg_cmd.c
  4. 7
      phpdbg_cmd.h

2
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])) {

2
phpdbg_break.c

@ -48,7 +48,7 @@ PHPDBG_BREAK(method) /* {{{ */
phpdbg_default_switch_case();
}
return SUCCESS;
} /* }}} */

30
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; arg<argc; arg++) {
phpdbg_destroy_input(
&(*input)->argv[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);
}
} /* }}} */

7
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)

Loading…
Cancel
Save