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])) {
phpdbg_default_switch_case();
}
-
+
return SUCCESS;
} /* }}} */
} 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;
}
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);
}
} /* }}} */
* 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)